写点什么

Vagrant 作者分享开源体会

  • 2012-05-04
  • 本文字数:932 字

    阅读完需:约 3 分钟

Mitchell Hashimoto 是一名开源软件工程师, Vagrant 项目的作者, Vagrant 是一个用 Ruby 实现的用于构建虚拟化开发平台的工具。 如今 Vagrant 已经被无数人使用,并成功获得了两个赞助商做收费技术支持。 Mitchell 在其博客上,分享了开发开源软件的经验和心得,这里不仅仅是技术,还有如何做一个好的开源项目维护者,以及如何推广自己的产品。

第一块是开源软件文化——适用大部分开源软件

  • 友好的态度
  • 不要对开发者设置过严的开发规范
  • 开发文档的编写很重要
  • 有一个清晰的沟通方式
  • 一个人不可能懂所有的事情

第二块是市场推广相关的心得——如何推广自己的产品

  • 将项目提到 Hack News 社区里面,并做好回答问题的准备
  • 和优秀的博主合作,让他们书写你的项目来获得更多的关注
  • 在参加正式会议之前,多参加本地聚会做演讲
  • 在区域性会议上做演讲
  • 在正式大型会议上做演讲

第三块是软件工程方面的点滴——软件开发过程需要注意的事情

  • 测试、测试,不论是单元测试还是系统集成测试,都对软件产品的发布起到至关重要的作用
  • 尽早支持 Windows,可以规避后期底层依赖对于 Windows 不兼容而导致大量代码改动的风险
  • 避免使 Ruby FFI 库,它的定期更新和升级会带了很多麻烦
  • 与你依赖的第三方库的维护者交朋友,这样可以更多了解 bug 的严重性和需要修复的期限

以上 Mitchell 的博客分享,引发了一系列的评论:

@Rob G 说:有两点让人印象非常深刻

  • 注重文档,大部分开源社区都不太讲究这个,大家的思维差不多都是代码就是文档
  • Windows 兼容性,好多开源软件支持 Windows 是件费时费力的工作,大部分人不爱做这件事

对于 Minitchell 的分享,也存在不同的声音:

@postmodern 说:避免使用 FFI 库这种说法,简直是太荒谬了。 FFI 库从 0.6 版本,我就开始一直使用,我可以报告给大家说 FFI 1.x 版本是非常稳定的。很多 FFI 的问题都是开发者自己的错误造成的。

Minitchell 针对此评论进行了回复:

FFI 本身是很好的功能库,但 Ruby FFI 库实在太差了,我尝试使用 18 个月,但结果只有痛苦。一觉醒来,发现 Ruby FFI 一个版本的发布就导致 Vagrant 崩溃,这真是一件让人沮丧的事情。

从融入开源社区的自由精神,到如何在开源社区蓬勃发展,是每个热爱并有意投身开源事业的工程师,需要学习的课题。读者朋友对开源项目运作和发展有任何看法,欢迎大家发表意见,开源项目需要融入和热情。

2012-05-04 03:412094

评论

发布
暂无评论
发现更多内容

PIRF 437:Twisted – Tongue Twisters

Echo!!!

English

大数据-25 Sqoop 增量数据导入 CDC 变化数据捕获 差量同步数据

武子康

大数据 hadoop hdfs sqoop JDBC

IBM 研究:以利润为导向的首席营销官将AI视为增长驱动力,但运营障碍阻碍了他们的步伐

财见

HarmonyOS实战:打造极简HEventBus事件通知

IT小码哥

HarmonyOS HarmonyOS NEXT

Swag - 将Go注释转换为Swagger文档的强大工具

qife

Go API文档

YashanDB数据模型设计及实现细节

数据库砖家

YashanDB数据生命周期管理策略解析

数据库砖家

鸿蒙 Grid 与 GridItem 深度解析:二维网格布局解决方案

谢道韫

鸿蒙 Scroll 组件深度解析:丝滑滚动交互全场景实现

谢道韫

Iontra助力减排1亿吨CO₂

财见

YashanDB数据库配置优化及资源合理分配技巧

数据库砖家

从0到1:不文明现象随手拍小程序开发日记(一)

CC同学

鸿蒙 List 组件解析:从基础列表到高性能界面开发指南

谢道韫

极客时间 AI 数据分析训练营学习总结

泄矢的呼啦圈

HarmonyOS NEXT仓颉开发语言实战案例:健身App

幽蓝计划

HarmonyOS NEXT

HarmonyOS Next IM实战: Worker线程中模块未初始化异常处理

轻口味

HarmonyOS HarmonyOS NEXT

YashanDB智能负载均衡实现方法及效果分析

数据库砖家

YashanDB数据库集群架构设计及实现步骤详解

数据库砖家

地平线静态目标检测 MapTR 参考算法 - V2.0

地平线开发者

自动驾驶; 算法工具链 地平线征程6

从0到100:单位订餐统计小程序开发日记2025

CC同学

爱立信连续第五年在《Frost Radar™ 5G网络基础设施市场报告》中名列前茅

财见

最后一个产品终于通过审核了!

Immerse

AI 数据分析训练营 - 毕业总结

Simon

HarmonyOS NEXT仓颉开发语言实战案例:图片预览器

幽蓝计划

HarmonyOS NEXT

YashanDB数据库集群环境中的数据同步最佳实践

数据库砖家

从0到放弃:会员登记与缴费小程序开发笔记(一)

CC同学

HarmonyOS NEXT仓颉开发语言实战案例:小而美的旅行App

幽蓝计划

harmoyos

Windows下版本控制器(SVN)-启动服务器端程序

刘大猫

人工智能 svn 版本控制 版本控制系统 tortoiseSVN

开普勒完成A轮融资,打造"硬件梦之队"加速人形机器人规模化进程

财见

YashanDB数据库集群管理与故障切换操作详解

数据库砖家

YashanDB最佳实践:构建高效稳定系统的建议

数据库砖家

Vagrant作者分享开源体会_Ruby_李湃_InfoQ精选文章