我有一个问题要解决,我认为需要4天,但如果我有一个功能请求排序和快照发布,那么我认为我可以在一个完成它.从表面上看,这会产生3 x我每日费率的预算,以使其获得功能请求.
所以我的问题是,你有没有支付过O/S项目成员为你修理一些东西?它运作正常吗?你是如何将这个想法卖给你的经理/同事的,钱是从哪里来的?
最重要的是你是怎么做得好的?这些东西有礼仪吗?项目负责人是否可能接受这个想法?
如果它很重要,缺少功能的软件是一个JBoss项目 - 专业开源的家 - 我可以申请费用,因为我是承包商.
在工作中,我们很幸运地聘请开源维护者来增强我们使用的库.
以下是我们过去做过的一些项目:
我们需要将Quake 2与wxWidgets集成在一起.我们聘请了WadWidgets的主要贡献者Vadim Zeitlin.在不到4天的时间里,他通过调整Windows版本的Quake 2构建了一个wxQuake2小部件.
稍后,我们需要对原始位图进行可移植访问.所以我们再次聘请了Vadim,并与他一起制作了一个新的原始位图API.这涉及大量的设计工作,但我们真的很喜欢最终的API,我们直到今天才使用它.
在以后,我们聘请了另一个核心贡献者来改进wxWidgets可访问性支持.事实证明,出于各种技术原因,我们最终没有立即使用此代码.但是从那以后其他人一直在增强这个代码,我们希望有一天能够使用它.
换句话说,雇用开源维护者就像雇用任何其他类型的承包商一样.但有些事情也有所不同.根据我们的经验,这里有一些建议:
如果您想要增强现有项目并将更改作为开源发布,那么您将获得最大的好运.
一般而言,您希望聘请核心团队的成员.他们拥有最佳的跟踪记录,他们是最有效率的,并且他们最有可能将您的更改合并到上游.
您希望将更改合并到上游.如果你不这样做,你将维持一个本地分支,这是一个令人头痛的问题.
在招聘之前,做一些研究.谁合作你关心的功能?他们是否喜欢和你一起工作?阅读邮件列表并浏览版本控制历史记录,并挑选一些人来接近.
在设计阶段,可能会有一些让步.开发人员正在关注项目的更大健康状况,并且您正在关注特定业务的需求.这偶尔使我们的谈判变得更复杂,但最终的结果通常是比我们自己选择的更好的设计.
最重要的是,不要害羞.在任何足够大的开源项目中,核心团队的几个成员已经开展了咨询业务.在较小的开源项目中,您通常会找到几个想要经营咨询业务的贡献者.
如果你仍然犹豫不决接近某人,你可以随时问:"你知道有人有兴趣通过$ FEATURE工作吗?" 如果他们不感兴趣,你没有把它们放在现场,他们可能会告诉你要问谁.
总的来说,我们对开源维护者的专业性和生产力印象深刻,我会为其他人推荐这条路线.