开源精神

I got a disturbing email today on Flo's mailing list (of Notepad2 fame). Florian Balmer is the author of the most excellent Notepad2. This is a great "it just works" editor. It's Notepad, but goes one better, I like to say. I've promoted it on my Tools List and in countless talks. Notepad2 has been developed over ten years and is in active, ongoing development. Florian has posted most recently about his adventures in Unicode.

今天,我在Flo的邮件列表中收到了一封令人不安的电子邮件( Notepad2声名me起)。 Florian Balmer是最出色的Notepad2的作者。 这是一个很棒的“即用”编辑器。 我想说,它是记事本,但效果更好。 我已经在“工具列表”中和无数次讲座中推广了它。 Notepad2已经开发了十多年,目前正在积极地进行中。 Florian最近发布了有关Unicode历险记的文章。

Flo was surfing and discovered http://www.notepad3.org.

Flo正在冲浪,并发现了http://www.notepad3.org 。

This is uncool for a number of concrete reasons.

由于许多具体原因,这是不明智的。

UPDATE/CORRECTION: I screwed up the licensing so my only complaints to the author of Notepad3 is that the name makes for a tacky fork and that the changes appear to be not significant in their scope. I apologize.

更新/更正:我搞砸了许可,因此我对Notepad3作者的唯一抱怨是该名称构成了一个发粘的叉子,而且更改范围似乎并不重要。 我道歉。

Notepad3 is a fork of a older version of Notepad2, specifically the GPL'ed Notepad2 1.0.12 rather than the BSD Licensed Notepad2 2.1.19. The GPL'ed Notepad2 was released on June 25th, 2004. The BSD licensed version was released on April 7th, 2007.

Notepad3是Notepad2较旧版本的分支,特别是GPL的Notepad2 1.0.12而非BSD许可的Notepad2 2.1.19。 GPL的Notepad2于2004年6月25日发布。BSD许可版本于2007年4月7日发布。

See, it turns out Netiquette CAN be subtle!

看得出来,Netiquette可能很精妙!

  • The distributor of Notepad3 did not include Florian's license.

    Notepad3的发行商不包含Florian的许可证。

    • UPDATE/CORRECTION: The license still is intact in the .c source code files, just not in the main license.txt. The full copy of the original Notepad2 license.txt also appears in Notepad3's source zip in c165/license.txt.

      更新/更正: .c源代码文件中的许可证仍然完整无缺,只是主license.txt中没有。 原始Notepad2 license.txt的完整副本也显示在c165 / license.txt中Notepad3的源zip中。

    • Notepad2 is distributed with this license (I snipped the copyright all caps at the end for brevity) as its main license.txt.

      Notepad2随此许可证一起分发(为简洁起见,我在结尾处抄下了所有大写的版权)作为其主要license.txt。

    The distributor of Notepad3 did not include Florian's license.

    Notepad3的发行商不包含Florian的许可证。

  • Florian's name doesn't appear anywhere within the Notepad3 root license.txt, which appears to be an aggregate of a number of licenses of the sub-components.

    Florian的名称未出现在Notepad3根license.txt中的任何位置,该目录似乎是多个子组件许可证的集合。

    • UPDATE/CORRECTION: Flo's website is referenced in the license.txt's header.

      更新/更正: license.txt的标题中引用了Flo的网站。

    Florian's name doesn't appear anywhere within the Notepad3 root license.txt, which appears to be an aggregate of a number of licenses of the sub-components.

    Florian的名称未出现在Notepad3根license.txt中的任何位置,该目录似乎是多个子组件许可证的集合。

  • The Notepad3 "creator" didn't make any attempts to include his changes in Notepad2 or give Florian a heads-up. Notepad3“创建者”没有做出任何将其更改包括在Notepad2中的尝试,也没有给Florian一个提示。

Now, these next reasons are my own opinions, and possibly subtle. You tell me. These are my opinions.

现在,这些下一个原因是我自己的观点,并且可能很微妙。 你告诉我。 这些是我的意见。

  • Mildly Tacky: They made up a new name and registered a new domain for the project. The new source can be only by found by digging around the main site. Can you find it?

    米尔迪·塔基(Mildly Tacky):他们为该项目改名并注册了新域名。 只能通过在主要站点周围进行挖掘来找到新的来源。 你能找到吗?

    Mildly Tacky: They made up a new name and registered a new domain for the project. The new source can be only by found by digging around the main site. Can you find it? UPDATE/CORRECTION: I think the source should be linked directly to from the main page. Rather, it's under download/src using the navigation on the left of their site.

    米尔迪·塔基(Mildly Tacky):他们为该项目改名并注册了新域名。 只能通过在主要站点周围进行挖掘来找到新的来源。 你能找到吗? 更新/更正:我认为源应该直接从主页链接到。 而是使用其网站左侧的导航在download / src下。

  • Tacky: The new entity, Notepad3, arguably doesn't contain substantive improvements, certainly not enough to be called an entirely new version, and definitely not Notepad3. You can see the sum total of the changed lines on Flo's post.

    Tacky:新实体Notepad3可能没有实质性的改进,肯定不足以被称为全新版本,而且绝对不是Notepad3。 您可以在Flo的post上看到已更改的行的总和。

  • Rather Tacky: They took the time to put the new entity has been put up on Softpedia and promote it without a single reference to Florian or Notepad2.

    Rather Tacky:他们花了一些时间将新实体放到Softpedia上并进行推广,而无需单独引用Florian或Notepad2。

It's not that Florian doesn't appreciate improvements. He has put a number of modified versions his side, including a very minor update by Wesner Moise and I. If he wanted to incorporate these changes into the mainline he could easily. I included a source diff for him, but most importantly I didn't make it look like his work was mine!

并不是Florian不欣赏改进。 他提供了许多修改版本,包括Wesner Moise和I所做的很小的更新。如果他想将这些更改合并到主线中,则可以轻松实现。 我为他提供了一个源差异,但最重要的是,我没有让他看起来像我的作品

记事本2的修改版本 (Modified Versions of Notepad2)

  • Notepad2 with Lua syntax highlighting - based on Notepad2 1.0.12.

    具有Lua语法突出显示功能的Notepad2-基于Notepad2 1.0.12。

  • Notepad2 with NSIS syntax highlighting - based on Notepad2 2.0.18.

    具有NSIS语法高亮显示的Notepad2-基于Notepad2 2.0.18。

  • Notepad2 with Ruby syntax highlighting - based on Notepad2 1.0.12.

    带有Ruby语法高亮显示的Notepad2-基于Notepad2 1.0.12。

  • Notepad2 with Ruby syntax highlighting - based on Notepad2 2.0.15.

    带有Ruby语法高亮显示的Notepad2-基于Notepad2 2.0.15。

  • NotepadCrypt - Notepad2 2.0.15 with file encryption features.

    NotepadCrypt-具有文件加密功能的Notepad2 2.0.15 。

  • Notepad2 MOD - SourceForge project based on Notepad2.

    Notepad2 MOD-基于Notepad2的SourceForge项目。

When people do Open Source work, one of the things that is almost universal is the natural human need for appreciation. For attribution. One overarching intent of the whole Creative Commons with Attribution license and most Open Source Licenses is "just don't remove the part that says *I did this!*"

当人们从事开源工作时,几乎所有的东西之一就是人类对欣赏的自然需求。 对于归因。 带有归因许可和大多数开放源代码许可的整个知识共享的一个总体意图是“不要删除说“我做到了!”的部分。”

Flo says it well, albeit with some understandable passion:

Flo说得很好,尽管有一些可以理解的热情:

Nonetheless, the author has chosen the name "Notepad3". Compared with the original Notepad, Notepad2 represents an evolution with new features. "Notepad3" implies the same, but with even less features, without any new development. Seems that the play on words is used to fool users into believing that "Notepad3" is something more advanced. The popularity of Notepad2 is being taken advantage of to attract some attention ― I have no idea what else might be the motivation of the author.

尽管如此,作者还是选择了名称“ Notepad3”。 与原始记事本相比,记事本2代表了具有新功能的发展。 “ Notepad3”的含义相同,但功能更少,没有任何新的发展。 似乎使用文字游戏来欺骗用户,使他们相信“ Notepad3”是更高级的东西。 Notepad2的流行被利用来吸引一些注意力-我不知道作者可能还有其他动机。

The author justifies the publication of "Notepad3" with the added installation and documentation (which is actually my documentation, and has always been there). Innovation equals zero. This causes confusion about the different versions available, and the reputation of my software is harmed when associated with that kind of sloppy, offending descendants (and, it makes me think how indiscriminate some well-known software sites are concerning additions to their repositories).

作者使用添加的安装和文档(实际上是我的文档,并且一直在那儿)为发布“ Notepad3”辩护。 创新等于零。 这引起了关于可用的不同版本的困惑,并且当与那种草率的,冒犯性的后代相关联时,我的软件的声誉受到损害(并且,这让我觉得一些众所周知的软件站点对它们的存储库的添加有多么不加区分)。

I have no problem with new versions of my software being released, even with minor changes ― my licensing conditions are fully met. The problem here is that the author made minor changes to the code and branded it in a very disingenuous and deceiving manner.

即使发布了很小的更改,我的软件新版本也没有问题-我的许可条件已得到完全满足。 这里的问题是,作者对代码进行了微小的更改,并以非常虚假和欺骗性的方式将其品牌化。

Perhaps this is just a faux pas, a minor misunderstanding. However, I would encourage Readers who are interested in getting into Open Source to think about these issues when getting involved in projects.

也许这只是个假象,是一个小小的误会。 但是,我鼓励对开源感兴趣的读者在参与项目时考虑这些问题。

我自己的开源经验 (My Own Experiences in Open Source)

I've had a lot of great experiences and one speed bump.

我有很多很棒的经验和一个减速带。

WatirMaker (WatirMaker)

When I wrote WatirMaker and released the source, I had written it from scratch. Each time it got forked or written again or modified, the folks who did it let me know! They asked for help! I offered help! It was a lovefest - the kind of lovefest that I think Open Source should be.

当我编写WatirMaker并发布源代码时,我是从头开始编写的。 每当它被分叉,再次写或修改时,做它的人都会让我知道! 他们寻求帮助! 我提供了帮助! 这是一场爱情盛会-我认为开放源代码应该是这样的爱情盛会。

电子邮件对话通常是这样的: (The email conversations usually went like this:)

Dude, heads up, I want to do _____

杜德,抬起头,我想做_____

Sweet! Rock on, let me know if you want help with ____ or if/when/how we can put _____ back into the source. Wanna join the project!

甜! 继续,让我知道您是否需要____的帮助,或者是否/何时/如何将_____返回源头。 想加入该项目!

Sweet! Dude! Rock on!

甜! 杜德! 继续前进!

Yay! <Hugs.>

好极了! <拥抱>

And the results were cool.

并且结果凉爽。

  • Michael Kelly and John Hann wrote WatirMaker.rb, and command-line script in Ruby. Sweet.

    Michael KellyJohn Hann用Ruby编写了WatirMaker.rb和命令行脚本。 甜。

  • Rutger Smit overhauled the app and we re-released it as WatirRecorder++ and put it up at http://watir-recorder.openqa.org/

    Rutger Smit对该应用程序进行了大修,我们将其重新发布为WatirRecorder ++ ,并将其放在http://watir-recorder.openqa.org/上。

  • My English buddy Richard Griffin not only fixed a bunch of my sloppy bugs but created WatinRecorder++ (Yes, that's WATIN, not WATIR!) and blogged about some cool design patterns using Wati*Recorder as a jumping off point.

    我的英语好友Richard Griffin不仅修复了我一些草率的错误,而且创建了WatinRecorder ++ (是的,那是WATIN ,而不是WATIR !),并使用Wati * Recorder作为起点,写了一些很酷的设计模式。

  • Alex Elder emailed me to refactor WatirRecorder. I said rock on. You can see there's a burst of work happening over there with checkin's just last months.

    亚历克斯·埃尔德(Alex Elder)通过电子邮件给我重构了WatirRecorder。 我说继续前进。 您可以看到,就在签到的最后几个月,那里突然发生了一些工作。

Notice how everyone is genial, chatting, and attributing? Even in Richard's WatinRecorder post, by now likely a complete re-write of my stuff, was thoughtful enough to thank a bunch of folks.

请注意,每个人都很友善,聊天和归属吗? 甚至在Richard的WatinRecorder帖子中,到目前为止,很可能我的东西都被完全重写了,足以考虑到很多人。

博客 (DasBlog)

DasBlog, now the work of dozens, originally came from Clemens Vasters, who originally got it from Chris Anderson's BlogX had a similar issue happen when a gentleman forked our Source Code and created an entirely different project out of it with an all new name. This happened two years ago and he's since changed/refactored the project pretty substantially, but it still felt crappy at the time and the team was rightfully torqued. At the time, all that had been done was a recompile under VS2005 and a check-in as a new project with a new name.

DasBlog现在来自数十个工作,最初来自Clemens Vasters,后者最初是由Chris Anderson的BlogX获得的,当一位绅士分叉我们的源代码并用一个全新的名称创建一个完全不同的项目时,也会发生类似的问题。 这发生在两年前,从那以后他就对项目进行了相当大的更改/重构,但是当时仍然感到cr脚,团队理应受到扭曲。 当时,所要做的只是在VS2005下进行重新编译,并以新名称作为新项目签入。

Justice Gray blogged about it soon after:

格雷法官(Justice Gray)不久之后就在博客上发表了有关此事:

Saying that "in the long term, ThinkJot will move away from the original dasBlog source code",  implies that all you've done is make some minor project ports, throw in a new DatePicker and call this your own project.  For sure, it's probably legally fine given the terms of the open-source license, but it leaves a bad taste in my mouth.  How would you feel if you worked on something for a long time and then someone just took all the work you did, rebranding it and called it their own?  I mean, c'mon!

说“从长远来看,ThinkJot将脱离原始的dasBlog源代码”,这意味着您要做的只是创建一些较小的项目端口,放入新的DatePicker并将其称为您自己的项目。 可以肯定的是,考虑到开放源代码许可的条款,在法律上可能没问题,但是这在我的口中留下了不好的味道。 如果您长时间从事某项工作,然后某人只是接管了您所做的所有工作,将其重新命名并称为自己的工作,您会感觉如何? 我的意思是,拜托!

Fortunately the author posted about this later and admitted this most important point:

幸运的是,作者稍后对此发表了评论,并承认了这一最重要的观点:

"My biggest mistake has been that I never talked to the dasBlog team previously about this. I admit it, and apologize."

“我最大的错误是,我以前从未与dasBlog团队谈论过此事。我承认,并道歉。”

And I give him full credit for that simple admission. Folks that copy/fork are rarely evil or malicious. We're all just trying to move the ball forward, and perhaps that's the same in the case of Notepad3. However, that doesn't change the fact that talking to folks up front can make all the difference.

我对他的简单录取给予了充分的评价。 复制/分叉的人很少是邪恶的或恶意的。 我们都只是想将球向前移动,对于Notepad3来说也许是一样的。 但是,这并不能改变这样的事实,即事先与人们交谈可以起到很大作用。

Unfortunately, at this point, this issue has soured Florian considerably:

不幸的是,在这一点上,这个问题使弗洛里安大为恶化:

I have been working on Notepad2 over more than 10 years, altogether. The above hacks may have been done in a few minutes.

我从事Notepad2的工作已经有十多年了。 以上骇客可能是在几分钟内完成的。

There have been similar cases in the past, already, but this one really beats everything. I'm not sure if I'm going to release any more open source versions of Notepad2, in the future. Ain't fun like that.

过去已经有过类似的案例,但是这一案例确实胜过一切。 我不确定将来是否要发布更多开源版本的Notepad2。 这样不好玩。

Let's encourage Florian to keep up the great work and as we go about our lives as members of the Open Source community, let's remember to appreciate all the hard work that folks put into their various projects and that just because Copy/Paste is easy doesn't make it right.

让我们鼓励Florian继续保持出色的工作,并在我们作为开源社区成员的一生中继续生活,让我们记住要感谢人们在各个项目中所做的所有辛勤工作,而仅仅因为复制/粘贴很容易就没有了。没做对。

我的秘诀? 有疑问时... (My Tips? When in Doubt...)

If you're doing Open Source and you're unclear about Netiquette, then:

如果您正在执行开放源代码并且对Netiquette不清楚,则:

  • Just ask.

    只是问问。

    • Ask someone working on a project how they do it. 问一个从事项目工作的人如何做。
  • Err on the side of attribution.

    归因于错误。

    • You can't attribute or thank too many people, especially if you've copy/pasted something. 您不能归因或感谢太多人,特别是如果您复制/粘贴了某些内容。
  • Reach Out.

    伸手。

    • Email the authors. Talk to people, join mailing lists and for goodness sake, avoid working in a vacuum. 给作者发电子邮件。 与人交谈,加入邮件列表,为求善良,请避免在真空中工作。
    • I still get emails about GlucoPilot, a shareware app I wrote almost 8 years ago. If I had the rights to the source, I'd give to the world. (Still working on that, actually)

      我仍然收到有关GlucoPilot的电子邮件,这是我将近8年前编写的一款共享软件。 如果我拥有来源的权利,那么我就将世界奉献给他人。 (实际上仍在努力)

  • Appreciate your peers and everyone that contributes to the community.

    感谢您的同龄人以及对社区做出贡献的每个人。

    • Jeffrey Blankenburg has a clever idea, declaring July 3rd, "Contribupendance Day," while slightly ethnocentric ;) it's a great idea where Jeff is going to tell 5 people in his peer group how much he appreciates what they do and how they contribute by writing compliments and recommendations on their LinkedIn and Plaxo or Facebook pages. I think I'll do the same!

      杰弗里·布兰肯伯格(Jeffrey Blankenburg)有一个聪明的主意,宣布7月3日为“贡献日”,而以种族为中心;)这是一个好主意,杰夫要告诉同龄人中的5个人,他对自己的所作所为以及通过写作做出的贡献表示赞赏在LinkedIn和Plaxo或Facebook页面上的赞美和推荐。 我想我会照做!

What do you think?

你怎么看?

翻译自: https://www.hanselman.com/blog/the-spirit-of-open-source-netiquette-can-be-subtle

开源精神

开源精神_开源精神-网络礼节可能微妙相关推荐

  1. 用开源做出来的必须开源吗_开源应该符合道德吗?

    用开源做出来的必须开源吗 开放源代码倡议 (OSI)是定义"开放源代码"以及将哪些许可证接受为开放源代码许可证的定义的管理机构. 它创造了术语"开源"的现代用法 ...

  2. java开发者工具开源版_开源工具如何帮助飓风受害者

    java开发者工具开源版 在哈维飓风最近横扫休斯顿地区并造成灾难性的洪水和破坏之后, 斯蒂芬·奥斯汀社区卫生网络 (SFA)Swift采取了对策,利用开源技术来覆盖德克萨斯州受灾地区的患者和危机受害者 ...

  3. ipad 开源协议_开源iPad替代品,创用CC满12岁,甚至更多

    ipad 开源协议 在本周的开放源代码新闻摘要中,我们介绍了开放源iPad的替代品,Creative Commons即将满12岁! 开源新闻让您阅读愉快. 2014年11月22日至28日 Jolla的 ...

  4. 规则引擎 开源产品_开源公司产品经理的规则

    规则引擎 开源产品 产品管理是一个有趣的职业. 成为用户,业务战略,工程和产品设计之间的界面是非常有益的. 这也是一项利润丰厚的职业,对雄心勃勃且善解人意的从业人员的需求日益增长. 这也是没有单一路径 ...

  5. python库开源网站_开源Python库

    开源Python库 Python 一个很受人欢迎的原因之一是其有很丰富的第三方库,到本文开始写的时候已经在 PyPI 上有108298个第三方包提供.有人还对第三方库做了很好的总结 Awesome P ...

  6. 软件著作权 开源框架_开源软件分享-基于.net core 3.1的快速开发框架

    曾几何时.NET们很羡慕JAVA的生态,java开源生态里面你用得着的几乎都有开源的实现.比如大数据.微服务.以及各种各样的快速开发框架,特别是spring boot出来以后,简化了SSM那套繁琐的配 ...

  7. 开源版本_开源版本PowerShell Core 6.2 发布

    PowerShell Core 6.2 GA 已发布,PowerShell Core 是 PowerShell 的开源版本,适用于 Linux,macOS 和 Windows. 有关 PowerShe ...

  8. 适合初学者的安卓开源项目_开源世界中初学者的颠簸之旅

    适合初学者的安卓开源项目 by Shubheksha 通过Shubheksha 开源世界中初学者的颠簸之旅 (A Beginner's Very Bumpy Journey Through The W ...

  9. 开源阅读_开源如何维持您的阅读习惯

    开源阅读 经常阅读有关技术的信息可以帮助您建立事业. 我最近分享,在情人 节 ,我该怎么读(什么有些人会说是)的书太多了. 我曾经有一个硬拷贝图书馆,实际上在我丈夫搬进来之前我的房子已经占用了我的两个 ...

最新文章

  1. V8 JavaScript引擎研究(三)垃圾回收器的实现
  2. 与自定义词典 分词_如何掌握分词技术,你需要学会这些
  3. .NET Core webapi 允许put请求方式配置文件
  4. python项目-2019年5月GitHub上热门的Python项目
  5. 使用emu8086学习汇编mov指令
  6. 大牛深入浅出讲解c语言do{...}while(0)功能及用法
  7. Java微基准测试框架JMH
  8. shell tr 替换 空格_Shell 字符串分隔符!!!(全网最详细总结)
  9. KaliLinux-wafw00f简介及防火墙探测
  10. karaf中利用Bundle引入外部log4j配置文件
  11. 选择 Veeam ONE v10 的其他三大原因!
  12. jquery的颜色选择插件实例代码
  13. Linux文件的软链接和硬链接
  14. 有关计算机组装和拆卸的说法,有关计算机组装论文
  15. 武汉坚守第三十二天——鱼菜价格已超高,病死猪肉现武汉
  16. COMSOL有限元仿真深度指南:如何分析更为复杂的材料各向异性结构?
  17. 交换机和路由器的区别计算机网络,交换机和路由器有什么区别?路由器与交换机的区别知识...
  18. 程序员不应该错过的 7 大导航
  19. Java 程序该怎么优化?(命令篇)
  20. 电脑系统32位和64位有哪些区别

热门文章

  1. 计算机专业四大名校排名,美国CS专业四大名校!总有一款适合你!
  2. 网页无法在微信内访问怎么办,微信跳转链接的实现方法
  3. Microsoft IExpress:微软自带的安装程序包制作工具
  4. 网易云课堂 Service Worker 运用与实践
  5. TDS协议解析(转载)
  6. Excel导出功能超时解决方案 -- 异步处理
  7. DirectShow AVI 文件操作【转】
  8. LabVIEW控制Arduino采集电位器电压(基础篇—4)
  9. [观点]AppStore支持人民币支付对国内开发者的影响
  10. android方法入口,Android App多个入口的实现方法