Open source 如何打开插件的源代码集

Open source 如何打开插件的源代码集,open-source,Open Source,(我为问题标题的非特定措辞道歉,并为“我实际上指的是“SourceForge的项目设置”而自由使用öpen source表示歉意) 我们最近公开了一款3D建模器,我们已经销售了几年,主要目标是保持应用程序的活力。我们在SourceForge.net上建立了商店,现在正在努力实现一个稳定的二进制版本流程。到目前为止,一切都很顺利 但是,除了主应用程序之外,我们还开发了一些插件(主要用于不同的导入/导出格式)。目前,这些插件仍然是封闭源代码,但我们也希望开放这些插件(第三方插件开发人员可以自行管理或

(我为问题标题的非特定措辞道歉,并为“我实际上指的是“SourceForge的项目设置”而自由使用öpen source表示歉意)

我们最近公开了一款3D建模器,我们已经销售了几年,主要目标是保持应用程序的活力。我们在SourceForge.net上建立了商店,现在正在努力实现一个稳定的二进制版本流程。到目前为止,一切都很顺利

但是,除了主应用程序之外,我们还开发了一些插件(主要用于不同的导入/导出格式)。目前,这些插件仍然是封闭源代码,但我们也希望开放这些插件(第三方插件开发人员可以自行管理或捐赠并开放源代码)问题是,我们的插件是否应该单独作为一个项目托管

我看到的选择是:
  • 将插件源添加到SVN源的子文件夹中
  • 为插件集创建一个单独的项目
  • 为每个插件创建一个单独的项目
  • 哪种设置最实用和/或最常见,我应该如何处理二进制文件

    当应用程序还处于关闭和商业化状态时,插件二进制文件可以与主应用程序分开更新是很重要的,但是现在所有的东西都是开放的,并且经常更新,这已经不是什么大问题了。而且我也不确定我是否愿意为开发人员提供一大堆插件作为主要项目的一部分,他们根本不在乎

  • 将插件源添加到SVN源的子文件夹中

    如果你没有太多的插件,我认为这是一个好主意。你可以创建一个文件夹结构,如我的答案末尾所示,以便独立管理插件。但在这种情况下,你将无法很好地控制SVN访问

    优点是您只需要维护一个项目网站(如果您创建了一个)

  • 为插件集创建一个单独的项目

    例如,这就是问题所在。他们的插件托管在一个平台上。一个下载页面上满是插件,另一个下载页面上满是二进制版本的软件可以提高可读性。但别忘了在项目网页上提到有一个单独的插件项目

    它还有一个优点,就是你可以独立管理项目网站。例如,你可以让其他用户负责管理插件网站(如果你找到了想要维护插件网站的人)

  • 为每个插件创建一个单独的项目

    这不是一个好主意,这样维护会更困难,因为您将有多个项目、存储库和项目网站

    但它也有一个优势:你可以更细粒度地授予人们开发插件的权限。例如,用户A和B可以使用插件X,但不能使用插件Y。对于单独的SF项目,这很容易实现。当然,这也适用于项目网站


  • 因此,作为结论,我想说的是,您越关心SVN访问权限,拥有的插件越多,就越有必要为您的插件创建一个或多个单独的项目


    #1中的SVN结构示例:


    我建议使用Codeplex而不是sourceforge,因为sourceforge限制某些国家访问您的项目,并且您的项目在该国可能无法访问。从道德角度来看,我谴责美国法律,而不是sourceforge遵守。从项目管理角度看,sourceforge额外的潜在用户数量大大增加超过了被封锁国家失去的贡献者。我们单独托管的项目网站欢迎被封锁的用户。非常好的总结,谢谢。我们决定选择第二个选项,因为它最适合我们的特殊情况。
    /modeler
        /trunk
        /branches
        /tags
    /modeler-plugins
        /plugin-x
            /trunk
            /branches
            /tags
        /plugin-y
            /trunk
            /branches
            /tags