【问题标题】:BSD license compliance with webpack与 webpack 的 BSD 许可证合规性
【发布时间】:2016-06-18 16:54:11
【问题描述】:

React 在 BSD 风格的许可下分发。当我缩小生成的 JS 文件时如何满足这个要求? IE。许多库都有包含特殊元数据但不包含 React 的许可标头。

我使用带有 uglifyjs 的 webpack 进行缩小。 Uglifyjs 可以选择保留 cmets,但它包含所有内容。还有一个用于 uglify 的插件,但我无法将它与 webpack 集成。

【问题讨论】:

  • 这是题外话,但我非常喜欢这个问题。在 opensource.stackexchange.com 上询问。
  • @MarcusMüller 这不是 opensource.stackexchange.com 的问题。我们需要遵守许可证,不问任何问题。问题是如何用 webpack 来实现。
  • 除此之外,BSD 许可证非常明确:许可证声明必须是分布式代码或二进制文件的一部分。你可能在任何情况下都不会“优化”它。这就是 cloudflare & co 不断违规的原因。
  • 所以手动删除除许可证注释之外的所有 cmets?或者删除所有评论并在之后添加许可证评论?您还可以将评论转换为字符串。
  • @MarcusMüller 一种解决方法是手动添加 /*!在 node_modules 的标题中,但它很脆弱。

标签: reactjs webpack uglifyjs


【解决方案1】:

我自己找到了答案。我用了这个项目https://github.com/shinnn/uglify-save-license

只需将以下内容添加到 webpack.config.js:

  const saveLicense = require('uglify-save-license');

  ...
  plugins: [
    new webpack.optimize.UglifyJsPlugin({
      output: {
        comments: saveLicense
      }
    }),
    ...
 ]

多次包含版权标头,但这没什么大不了的。

【讨论】:

    【解决方案2】:

    您现在不会遇到这个问题,因为 React 16 将根据 MIT 许可证获得许可。 https://code.facebook.com/posts/300798627056246/relicensing-react-jest-flow-and-immutable-js/

    【讨论】:

      猜你喜欢
      • 2017-10-15
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多