【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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:411709

评论

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

Go- map的使用

HelloBug

Go 语言 map的使用

阿里P8大牛终于整理完了564页大话java性能优化神仙文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

疫情小区离你有多远,百度地图告诉你

百度开发者中心

最佳实践 百度地图

字节再次出圈!GitHub上爆火一星期的算法刷题手册竟出自这人之手

Java~~~

Java 架构 面试 算法 数据结构与算法

故事篇:数据库架构演变之路

阿Q说代码

主从复制 读写分离 集群部署 8月日更 垂直拆分

深层剖析鸿蒙轻内核M核的动态内存如何支持多段非连续性内存

华为云开发者联盟

鸿蒙 内存 结构体 OpenHarmony 动态内容

带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

华为云开发者联盟

端到端 网络模型 车道线 实体分割 LanNet

Alibaba新产!Spring+SpringBoot+SpringCloud全家桶进阶小册

Java~~~

Java spring 架构 面试 Spring Cloud

Shopee物流业务核心数据库架构演变——权衡取舍的艺术

Shopee技术团队

架构 #数据库 #物流 #供应链 #Shopee

惊!阿里大佬珍之若宝的最强高并发pdf,竟然被上传GitHub开源

Java 编程 架构 面试 程序人生

金九银十给我疯狂内卷!GitHub再现星标86K面试手册,37K!妥妥的

Java~~~

Java 架构 面试 算法 JVM

阿里内部推出Spring响应式微服务Boot2Cloud文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

膜拜!阿里内部都在强力进阶学习springboot实战派文档

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

堡垒机和防火墙的三大区别分析-行云管家

行云管家

网络安全 防火墙 信息安全 数据安全 堡垒机

Go- map的定义

HelloBug

Go 语言 map的定义

eKuiper 联手 OpenYurt,解决物联网场景下边缘流数据处理难题

EMQ映云科技

云计算 阿里云 物联网 IoT #Kubernetes#

保姆级教程,小白也能2周搞定3个月的Web开发任务!

博文视点Broadview

终于有人把操作系统,CPU,基础知识,网络一次讲清楚了,绝绝子

Java~~~

Java 架构 面试 TCP 网络

常用正则表达式最强汇总(含Python代码举例讲解+爬虫实战)

Python研究者

8月日更

常见内存泄漏引起原因

金陵老街

apipost使用脚本发送一个接口请求

与风逐梦

后端 开发工具 接口测试

【墨天轮专访第二期】巨杉数据库萧少聪:重视企业长期需求,打造中国的世界级产品

墨天轮

数据库 人物访谈 国产数据库 巨杉数据库

阿里P8大牛耗费三年整理的:Java架构之完美设计实战PDF

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

今天我们来谈谈Golang的同步等待组

Regan Yue

Go 语言 8月日更 同步等待组

新生代农民工的十八般武艺,你都了解吗

华为云开发者联盟

DevOps 云原生 编程语言 编程规范 新生代农民工

面试侃集合之SynchronousQueue非公平模式篇

码农参上

非公平锁 SynchronousQueue 8月日更

一文为你介绍ServiceComb Service-Center三大高性能优化点

华为云开发者联盟

开源 微服务 注册中心 Service-Center

超实用?HUAWEI高工总结出15W字的图解计算机操作系统指南手册

Java~~~

Java 架构 面试 TCP 网络

基于 Formily 的表单设计器实现原理分析 ​

全象云低代码

JavaScript 低代码开发 表单设计

云小课|想实现资源全自动备份?看完这篇秘籍,不再蕉绿~

华为云开发者联盟

云备份 自动备份 备份策略

Spark必读!总有一些Spark知识点你需要知道

Qunar技术沙龙

spark hdfs mapreduce Web UI 数据倾斜

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