这是最令人难以置信的演示I'在开源世界中提供的故事。你可以' t做到这件事。
这是2005年,我觉得我是飓风的眼睛。我是一个独立的绩效顾问,Sun Microsystems刚刚发布了DTrace,这是一个可以介绍所有软件的工具。这给了像我自己X射线愿景的性能分析师。虽然我正忙于使用DTrace写作和发布高级性能工具(我的开源DTRARATOOLKIT和其他DTRACE工具,AKA脚本),但我注意到了一些奇怪的东西:我正在生产更多的DTRACE工具,而不是从太阳脱离了。也许有一些内部项目,消耗了他们所有的DTRACE专业知识?
正如我andn' t一个sun microsystems员工,我没有阳光'内部项目。但是,我正在为Sun进行培训和咨询,帮助他们的客户提供系统管理和表现。 Sun有时邀请我到自己的客户会议和我可能感兴趣的其他活动,作为当地专家。我住在澳大利亚悉尼。
这次我被告知,来自美国的美国有一个非常重要的人,我想见面。我没有认可这个名字,但被告知他是在太阳的DTrace专家和开发人员,并在世界巡回演出中展示了Sun'基于新的DTrace的产品。 Ah-Hah - 这必须是内部项目!
但这将是没有普通项目。我看过来自太阳的一些惊人的技术,但我从未见过世界巡演的开发商。这将是很大的,并且可能会吹走我之前的DTrace工作。
在去下一个澳大利亚城市之前,VIP正在返回悉尼,所以我们同意在悉尼办事处举行会面。
DTRACE专家抵达休闲商业服装和沉重的美国口音,似乎有点疲惫地借着他的世界之旅。他刚刚去了南非和新西兰,并列出了他往下接下来的其他国家和城市。另外两名澳大利亚Sun员工加入了会议,一个人介绍了我:
低调介绍是澳大利亚(特别是澳大利亚人)的常态,我想知道他是否知道这种文化差异。另一个不同之处在于,与美国不同,澳大利亚在澳大利亚的角色很少。例如,Sun Microsystems澳大利亚所有的工作都是支持,没有发展,其他科技巨头尚未到达。所以回到澳大利亚你可以找到令人惊叹的工程师,做任何角色。
我试图在&#34上扩展;东西"一点地说我写了dtracetoolkit,但他留下了'令人印象深刻。他没有认可我的名字,也没有听说过DTrARetoolkit。对他来说,我只是一个随机的家伙。
无论如何,他很友好给我一个快速的演示。他的DTRACE产品是我已经熟悉的更大阳光的加载项。加载后,他展示了如何通过双击图标来运行几个DTrace工具之一。原始输出将打印在单独的窗口中,或者结果将显示为线图。这似乎非常强大。 GUI已经具有此功能:显示工具的原始输出或绘制行图。我希望有一个新的GUI功能。
唯一的新工作是工具本身,其中有几个。他提供了快速的销售促销,了解他们提供的新的和惊人的可观察性,他必须曾多次给客户留下深刻印象。我感觉到他是and#39;期待我妥善欣赏他们的价值。
但我确实了解这些工具,因为我为自己的DTrAcetoolkit编写了类似的功能。它们很有用,但......我期待飓风的令人敬畏的新DTrace内容。
"是的,肯定。"他并没有说它,但给了我一个看起来像他没有真正相信我,或者我甚至可以真正了解他们是什么。这是Sun Microsystems的重要创新,这是一个值得数十亿美元的跨国公司。我只是一个随机的澳大利亚。
我为新的东西浏览了GUI图标,最接近的是追踪套接字I / O的工具。我在2004年尝试过这个(Socketsnoop.d)并将其发布为开源,但我的工具不完整:我没有访问内核源代码,所以我必须弄清楚使用黑匣子的硬路分析。它适用于大多数TCP流量类型,而不是其他人,我在脚本评论中警告说。我' d也没有在dtracetoolkit中包含它,因为我认为它又完成了。所以他所拥有的所有工具中,我最有兴趣看到这一点。孙可以通过参考他们的源代码来做一个更好的工作,并实际完成此工具。
"我可以看到套接字I / O脚本吗?"。我解雇了一个终端。他先看起来很惊慌,就好像我是' t应该看看窗帘,然后实现另一个卖出功能:"好吧,肯定,你甚至可以为GUI添加更多工具!"暂停后,添加"如果你有它们"当然,我有它们好。他给了我一条开始看的道路,在搜索一点搜索后,我发现了一个他一直在发作的所有工具的目录。
这些工具都有熟悉的名字。一个人甚至被称为socketsnoop.d。对我来说是一种新的可能性。
我打印了socketsnoop.d。屏幕充满了自己的脚本。我同样不完整的尝试,我一年又攻击了一年,并作为开源发布。它包括一些奇怪的代码,只有在我写它时才才有意义(在DefaultArgs之前使用PFormat)并以我之前的编码样式编写。我正在看自己的他妈的脚本。
我印刷了另一个工具并看到了相同的工具 - 他们都是我的。这款热门新的Sun产品是VIP先生在展出世界炫耀的世界实际上只是我自己的开源工具。
我用Grep搜索了他的所有工具,以便我的名字,这是我所有工具的标题评论,以证明这些是我的疑义。但我没有找到任何东西。我的名字被剥夺了。
现在,在这里,他是在澳大利亚悉尼,试图销售Brendan Gregg'在Brendan Gregg的工具。
其中一个澳大利亚Sun工作人员中断:"那些说得吸着版权的Sun Microsystems。"我的大多数工具都有我自己的版权和GPLv2或CDDL许可证。但这些只有Sun' S标准版权消息,并且剥离了开源许可证。
另一个澳大利亚添加了vip:"你可以' t做到这一点。"由于发生沉没的程度,沉默落在房间里。虽然一些在阳光下令人鼓舞的开放来源贡献并建立一个社区,但其他人正在扯掉同一个社区。采取工作,改变许可证和版权,然后销售它。
VIP WASN' T为此准备并看起来困惑。他没有说太多了,除了他没有知道发生了什么,他可能已经从其他人那里得到了这样的工具(即不要责备我)。他似乎只相信我们所说的一半。
会议迅速结束。我建议他直接从DTRARATOOLKIT获取我的工具的更新副本,因为我的主页的这些旧版本已经过时,有些人有一些已经修复的错误。我还提醒他,以保留所有这些人的名字,版权和许可。
在他的辩护中,也许会议可能已经不同,因为我没有得到一个低调的澳大利亚介绍。那个澳大利亚文化问题(高罂粟综合症)。对于澳大利亚来说,美国的介绍可以听起来夸张,但它们也可以作为分享一个' S Specialties的快速方式。
在我作为开放来源发布的所有工具中,我仍然可以' T相信Socketsnoop.d。它甚至是非常好的&#39。后来我写了更好的套接字工具(在我的DTrace和BPF书中)。
几年后,Apple将几十个工具添加到OS X.他们留下了我的名字,版权和CDDL开源许可证完整,甚至改进并增强了其中一些。几年后,Oracle对Oracle Solaris 11做了同样的事情,BSD社区为FreeBSD做了。我感谢你们所有人。
你可能会说这不是真正的孙公司这样做的,而是一个粗心的个人。但是,太阳'文化中有一些贡献这类粗心的文化。这是我和我的咨询同事曾遇到过的:太阳只有太阳可以充分利用自己的技术,以及在阳光之外创造的东西都是垃圾的信仰。当这些Sun员工发现了很好的东西时,他们倾向于假设它来自太阳,因此可以安全地重用和重新定义(和重新定义),因为他们认为他们已经持有了版权。
阳光下也有其他人,这确实努力做到了我和我的工作。在至少四个其他场合,我的DTRARETOOLKIT建立在可观察性产品中,而无需剥离许可证。 (在一个案例中,他们想要重新定义GPL,并与我和太阳谈谈它,但另一个故事。)
这也是'最后一次有人不知不觉地试图卖给我自己的工作,这只是第一个。我学会了没有告诉销售人员我发明了他们的展示我的销售人员,因为他们会给我搞笑看起来像我'马疯人,而是简单地说"我有很多经验与那种技术"并离开它。
我提醒了这一案例,因为我的BPF工具现在出现在可观察性产品中,并且将增长到比我的DTrace工具更大的比例。我' ll在未来的帖子中写得更多,但我对开发人员的直接建议是这样的:请不要重写我的BPF工具和BCC库; AS-IS(BCC Python或BCC Libbpf-Tool版本)构建。它们仍然是正在进行的工作,并重写(分叉)它们划分工程资源,并使用过日期版本的客户。我们在一个箭头后面的所有木材都更好。 (请注意,我认为我的火焰图软件是不同的:因为它是一种简单的算法,它不需要多种维护,我不再看到了人们重写它的大问题。很高兴感谢但是,正如我为那些激发火焰图所做的那样。)
至于令人难以置信的演示:这是我想象的伟大的DTRACE产品,我想象着世界巡演。事实上,它是我自己的工具。我怀疑它并不罕见,在某些时候,一个开源开发人员发现自己的代码已被重新命名。但这种情况下的情况可能有点不寻常。美国开发人员为他没有写的软件进行了世界之旅,其中包括在澳大利亚在不知不觉,向作者提供销售音高和演示。我不认为他甚至说谢谢。
您可以在此评论,但我可以' t保证您的评论将永远留在这里:我可能会在某个点切换评论系统(例如,如果disqus添加广告)。
评论由Disqus提供动力