5分钟阅读时间 (1029 字)

闭源问题

Closed Source Complications
想象一下,你在当地经销商那里买了一辆汽车。开了几周后,你发现地板加热通风口有问题,只有在将加热从地板切换到除霜,然后再回到地板,并连续按两下喇叭时才会工作。

你把它带回经销商那里,告诉他们你的问题,然后坐在候客室里等着。等着。一周过去了,接待员告诉你机械师想知道你开过哪些路,以及你在什么档位上。所以你列出你开过的所有道路,并尽量猜测你当时在哪个档位上,然后把清单交给接待员。又过了几天,接待员告诉你机械师说地板通风口在他们那里工作正常,也许你应该在另一组道路上开车。

你已经靠大厅里的自动售货机里的薯片和汽水为生,当他们告诉你这个消息时,你想:“这简直是胡闹。我有一周半没洗澡了,这些笨蛋只是给我一个非解决方案?”

你冲出经销商,开车去当地的维修店。你解释了情况,维修店的人说他要看看,试图打开引擎盖,但它是锁着的。“对不起,”他告诉你,“只有经销商才能修理这辆车。它的引擎舱是用经销商钥匙锁住的。”

你把车又开回经销商那里,哀求、威胁和恳求他们修理车,他们承诺说他们会在不久的将来看看。

这是闭源的故事,但用软件代替了汽车。

什么是闭源和开源?

源指的是源代码,即使程序运行的可读版本。闭源是指源代码无法被阅读,而开源是指可以被阅读。能够阅读的重要性在于,任何可以阅读代码的人都可以修复或改进它。

Joomla!是用PHP编写的,PHP主要是一种开源语言。如果你可以访问PHP文件,大多数情况下你都可以阅读它。唯一不能阅读的情况是有人采取了步骤使用加密工具来混淆它。

为什么开发者要加密PHP并关闭源代码?

他们这样做是为了防止他们的程序被共享,主要是通过强迫每个人都通过他们购买来增加利润。如果程序是开源的,它就可以很容易地被共享,而共享的程序不会被购买,这会损害创作者的利益。

作为一名开发者,我知道获得我的技能和努力的报酬是至关重要的。没有报酬的开发者成为另一个行业中的忙碌工作者,他们只有在有时间且有兴趣时才编写代码。对于那些贡献解决方案的人来说,得到报酬符合大家的利益。

然而,正如我的汽车例子所说明的,在项目中关闭源代码并不是一个好的解决方案。当开发者受到盗版其工作的伤害时,用户在开发者加密它时也会受到伤害

一个真实例子

我目前正在从事一个项目,我们犯了一个错误,即从一个流行的扩展提供商那里采用了闭源扩展。我们这样做的原因是,这个提供商还创建了基于该网站的开放源代码扩展,我们认为与该扩展的集成将更优越。

尽管有大量的文档和支持论坛,但我们遇到了大约10-15个严重的问题,影响了我们的实施,并且没有明显的解决方案。在几乎所有与这个扩展的问题中,我都不得不编写代码来绕过它以提供修复,有几个问题因为无法实施解决方案而无法解决。这使得我们完全依赖于提供商来实施这些修复。我们有一些问题,从两个月前开始,那时提供商为其他扩展发布了几个功能更新。

除了这些障碍之外,我们还需要对扩展进行一些微小但重要的修改,我可以轻松完成。然而,由于源代码被加密,我无法进行这些修改。

使用加密扩展的缺点

  • 你完全依赖于扩展提供商.
  • 支持请求成为提供商的瓶颈,确保你必须等待你的问题得到解决。在开源的情况下,任何了解你的情况的人都可以发布解决方案(如在Joomla!论坛上)。
  • 提供商只能解决他们遇到的问题。在开源的情况下,任何人都可以复制和解决一个问题。
  • 任何需要改进的地方都必须通过提供商来完成。如果他们忙碌或者不感兴趣与你合作,你就无能为力。
  • 没有其他扩展可以合理地增强闭源扩展,因为没有人确切知道它是如何工作的。

通过使用JED避免这些问题

正如你所看到的,使用非开源的扩展可能会给你的或你的客户的网站带来一些严重的问题。

但是,避免处理加密程序的问题相对容易:只需使用Joomla!扩展目录。JED上提供的任何扩展,无论是免费还是商业的,都必须是开源的。如果你正在寻找的扩展没有在JED上列出,那么它可能已经被加密,并且不是开源的。

总结

请记住:购买软件是一种投资,不要投资于你无法控制的东西,就像只买经销商能修的汽车一样。不要通过使用加密软件让自己或你的客户陷入这样的困境。相反,支持开源及其开发者。这对于您的网站以及它所属的 Joomla! 社区至关重要,我们需要共同分享问题和开发解决方案。

《Joomla 社区杂志》上发表的一些文章代表作者对特定主题的个人观点或经验,可能并不符合 Joomla 项目官方立场。

0
新手提问:哪个吉祥物最能代表 Joomla!
 

评论

已注册? 登录这里
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问 https://magazine.joomla.net.cn/ 外部第三方提供的服务