在select开源软件时,我应该注意哪些警告标志?

将开源项目与商业软件甚至其他开源项目进行比较时,哪些情况会引发红旗并导致您popuppopupbutton并在其他地方查看?

开源

看看这个项目的网站

  • 看看文档
  • 看邮件列表档案
  • 看看SCM(svn,git,hg等)

这样做,拿起以下几点…

  • 软件有多成熟
  • 什么是用户基础的大小(很多人?3人?)
  • 谁是基于用户的人(企业,家庭用户,小型企业等)
  • 发展是积极的吗? 它活跃了多久?
  • 除此之外,邮件列表档案还泄漏了大量有关开发者“团队精神”的信息。 它看起来健康,敌对,无聊等?
  • 文件是否体面?
  • 该软件包/项目是否已被Fedora,Debian,RHEL,SLES,Ubuntu等任何Distros所接受? 如果是这样 – 这是一件好事 – 至less有一个以上的人对这个项目有信心。
  • 该网站是否有适当的票务系统? 如果是这样 – 从5年前开始有多less张门票? 这是项目如何“活”的另一个指标。

另外,请确保您记下软件分发的许可证。 有些可能不适合您的需求。

企业软件

除了…以外我没有太多的话要说

  • 确保(不要问销售人员 – 他只会说谎)该应用程序不能以root身份运行特别是如果它将要在TCP / IP端口上侦听。 *看看供应商的声誉
  • 确保供应商知道pipe理这个产品的人(即不会被root访问,所以产品必须支持sudo 。任何人认为sudo不被支持的人通常只是老年人,但是他们是供应商,他们将是那些不得不支持你的人 – 你不想购买产品,后来让他们告诉你“不,你不能使用sudo,你必须su”。
  • 永远不要购买任何闭源安全软件
  • (主观的):…永远不要相信销售代表所说的任何东西 – 他们都是骗子和蛇,没有例外。
  • 缺乏活动。 如果该项目还没有发布新的代码,显示大量未closures的错误(或者是非常古老的,没有新错误的错误),或者有用户论坛具有很高的垃圾邮件比率,这是一个肯定的气味衰减的代码库。 活跃的项目有定期的发布,错误的stream失,表明新的打开没有超过封闭的旧的,用户论坛日常活动。 所有这三个对于保持代码的活跃和良好的释放,反馈和debugging/重构都是至关重要的,形成一个完整的循环。

  • 活动与代码库的大小,复杂性和成熟度成正比。 程序/项目越大,点发布越不经常,但是应该有一致的点发布。 对于像桑巴那样的庞大复杂代码库的项目,大概一个月左右就会发布点数。 对于像gcc这样的项目来说,它是一个成熟的代码库,其devise目标更为保守,而点之间的间隔时间更长,但更大。 快速移动目标的代码也很less,也可能是潜在的问题 – 可能是开发者仍然在与bug对抗,或者还没有完成所有目标/特性的编码。

  • 源代码必须易于访问。 如果它是真正的开放源代码,那么应该没有任何魔术握手,巫毒产品或者烛光咒语来看源代码。 如果可以通过CVS,SVN,Git,Mercurial甚至是运营商鸽子访问它,则无关紧要, 前提是您可以在没有点击封装许可证协议的情况下获得。 如果您签署了豁免,保密协议,或者同意一些听不到的许可证scheme,那么您并不是与开放源代码打交道,而是与一家同意向您开放源代码的商业供应商打交道 – 。

有很多,真的。

欺骗性许可 – 太多的解决scheme都试图镍和我的​​死亡。 这个软件包花费了X,但是如果你想要广告的选项1,2和3,那么每个选项将会多出500-1500美元。 不,谢谢。

没有人使用它 – 或者至less,谷歌无法find任何人谈论它。 这要么是全新的(在这种情况下,你是一只豚鼠),要么是每个人都知道得更好

这是几个分支的根源 – 如果有什么东西被分叉了很多次,可能有一个很好的理由,其中一个叉可能比源头更好地解决了这个问题。 调查那些。

一贯糟糕的界面devise – 我不只是指GUI。 疯狂的,身份不明或标签错误的CLI标志或选项让我疯狂

它不起作用 – 或者它假装一个需要解决的情况不应该(或不存在),因此不能解决它

我还要补充一点,代码stream失率是一致的,由许多人完成,而不仅仅是一些。 当他对自己的项目感到兴奋时,你不想让一个人兼职开始兼职,然后对此感到厌倦,留给社区继续支持。 Drupal和Joomla是两个很好的例子。

如果您正在为您的公司寻找软件,将其出售,更改等,最重要的方面就是许可证。 考虑到在无线局域网路由器上使用busybox并采取法律行动,公司认为“开源=做任何你喜欢的事情”。

其他的一些事情:我也在寻找最后更新的date和一个活跃的社区,所以论坛,也许其他页面,有软件为主题。

在Linux上,我会检查你的发行版是否包含了什么软件。 打包软件不仅限于开源/ GPL – Ubuntu,Gentoo和SLES至less包括在软件包列表中的专用软件。 虽然不能保证这些软件包能够像发行版的核心软件那样有效地工作 – 有人花费了大量的时间和精力准备一个软件包。

我主要看成熟和活动。 如果它看起来比较成熟,并且似乎有相当多的活动(例如论坛或维客活动),那么我可以感觉很舒服。 那么我知道,错误很有可能会得到解决,我可以帮助解决出现的问题。 我会select一个与我的需求完全不匹配的活动项目,而这个项目似乎是一个完美的比赛,但在一周中的任何一天都会死掉。

谈到成熟时,它很大程度上取决于预期的用途。 如果这是我需要即刻推出的,不能让其失败或造成麻烦的,那么成熟度显然是一个非常重要的因素。 如果我可以忍受一些怪癖,并且在一些宕机时间不重要,那么我宁愿看未来的前景。