将开源项目与商业软件甚至其他开源项目进行比较时,哪些情况会引发红旗并导致您popuppopupbutton并在其他地方查看?
开源
看看这个项目的网站
这样做,拿起以下几点…
另外,请确保您记下软件分发的许可证。 有些可能不适合您的需求。
企业软件
除了…以外我没有太多的话要说
root
身份运行 。 特别是如果它将要在TCP / IP端口上侦听。 *看看供应商的声誉 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一个与我的需求完全不匹配的活动项目,而这个项目似乎是一个完美的比赛,但在一周中的任何一天都会死掉。
谈到成熟时,它很大程度上取决于预期的用途。 如果这是我需要即刻推出的,不能让其失败或造成麻烦的,那么成熟度显然是一个非常重要的因素。 如果我可以忍受一些怪癖,并且在一些宕机时间不重要,那么我宁愿看未来的前景。