我已经问了一些开发人员,他们制作了他们不再维护的软件或者让他们死掉,他们为什么不开源软件,让其他开发人员继续推进并加强它。或者至少不要让它消失。
大多数借口都是关于代码的质量。他们不想开源,因为他们对自己编码的内容感到羞耻。 在我看来,如果软件有效,那么人们正在下载并使用它,这对软件说得足够多。没有人为自己的代码感到骄傲。如果有人看到他们一年前的代码,你肯定会认为你现在可以做得更好。我已经使用了一些不再存在的好软件。我发现这是浪费资源。
为什么有些开发人员更喜欢让他们的软件消失而不是公开?我能想到的一个原因是他们使用别人的IP并且他们不想暴露。如果他们现在或将来无意从中获利,应该鼓励开发人员开源他们的软件吗?
答案 0 :(得分:9)
如果有人真的想要发布代码但又感到羞耻,理性的解决方案是从源代码中删除所有作者身份的痕迹,然后将其发布到公共领域,或者将版权分配给其他人。
除此之外,作者没有发布源代码有各种可能的原因:
或许作者只是不感兴趣,“我对我的代码感到羞耻”借口只是让你离开的一种策略: - )。
答案 1 :(得分:8)
有些人真的可能不希望他们的代码受到批评而且不想清理它。虽然我同意是否阻止有用的代码进入社区,但这有点合理。尽管如此,这并不是他们使用IP的初步证据。
答案 2 :(得分:8)
也许是因为打开一个软件的代码会降低他们不愿意花费的一些努力。
答案 3 :(得分:3)
没有人为自己的代码感到自豪? Don't believe you
我们会鼓励你发展 程序员的三大优点: 懒惰,急躁和傲慢。 - 拉里·沃尔
答案 4 :(得分:3)
我可以理解你的来源。该软件有效,这才是真正重要的。我也可以了解开发人员的来源。许多程序员在编码时会养成坏习惯(即不评论)。我有时候自己也犯了这个罪。在我看来,我不认为这应该限制他们保持他们的应用程序封闭源。如果你打开你的来源,你就可以打开所有新的可能性。如果您不再继续使用某个程序,为什么不发布源代码呢?人们可以接受您所知道的,应用它,使其更好,并最终使您的应用程序保持最新状态并且比以前更好。总的来说,开发人员应该更加公开地发布他们的源代码,特别是如果没有任何利润的话。
答案 5 :(得分:3)
我完全可以理解这一点。
我十年前为一个志愿者组织写了一些软件。他们仍在使用它,它“有效”。但它很难看。我现在对如何设计软件了解得更多。即使必须对其进行更新和更改也是痛苦的。我想花些时间来清理它,但我没有时间。我真的不希望任何其他人接管这个项目,因为我很尴尬地将我的名字与代码相关联 - 即使我的名字实际上不在代码中。它仍然反映在我身上,即使我现在可能知道得更好。
逻辑上,我知道的更好。以这种方式思考是愚蠢的。但我无法克服心理。这是非常真实的,这是一个艰难的困境。我不会假设知识产权或隐藏动机的问题。
答案 6 :(得分:2)
我已按顺序回答了发布的问题。是的,这些是固执己见的。
[你有这个作为一个研究吗?看到它会很有趣。只是模糊的引用和量词并不是很令人兴奋。]
也许这些代码是为了娱乐,学习和当时的工作而写的,因为“它可以完成”,或者出于其他一些动机原因。它有助于达到目的;也许目的已经消失 - 以及背后的动力。需要花费精力才能找到旧代码,发布旧代码,回答愚蠢的电子邮件或有关旧代码的问题。 (对某些人来说,不关心关于别人的想法需要付出努力。)
我会犹豫是否认为隐藏的代码“违反了IP”。如果没有更好的证据,这是一种不公平和毫无根据的假设。
鼓舞?也许。强制?编号是一种创作,与任何艺术一样,是创作者的产物。除非他们没有权利分配权利,否则作者的工作。也许它被认为是可怕的并且永远被埋没 - 所以就这样吧。其他形式的艺术也同样如此。
答案 7 :(得分:0)
我最近遇到了这个问题,并得出结论认为将代码放在那里并使其可被发现只是第一步。如果没有人对它感兴趣,你就没有丢失任何东西,如果你开始积累用户群,你可以随时改进文档和代码质量。
我认为人们理解软件开发所涉及的资源限制,并且能够智能地制定和解释权衡更重要,而不是必须始终预先编写100%良好的气味代码。有时你需要加速 - 这就是重构的目的!
答案 8 :(得分:0)
我认为这可能是因为开发人员认为软件并没有真正死亡,他/她可以在将来重新开始编写和使用它。
但真正的问题是:在开源下发布源代码的努力是否会帮助其他人?有时应用程序过于本地化或者可能记录不佳,开发人员认为它没有用处。维护一个开源项目可能很难(你必须记录它,控制它,修补它等)。
此外,该应用程序可能已经使用了一些专有代码(当你开发代码时) 正在为其他人工作)他/她不能在不适合法律的情况下释放它。
最后,但同样重要的是,当有人批评他们的代码时,开发人员是否会感到高兴?我想没人喜欢。