我为Linux和OSX编写了一个开源(GPL)应用程序,现在希望分发它。默认情况下将源代码与二进制文件一起分发是正常的,还是仅提供可以获取的位置的链接?
如果我包含源文件,在Linux和OSX的用户系统上写入它们的正常位置在哪里(我认为/ usr / local / src但在我的Ubuntu机器上,据说充满了开源应用程序,这个目录是空的。)
答案 0 :(得分:4)
通常分别分发源和二进制文件。二进制文件通常以特定于发行版的包格式分发,而源代码则是包含项目文件夹的简单.tar.gz。用户可以根据需要将其解压缩到/ usr / local / src,但它应该在任何地方构建。您的程序无法在任何特定位置删除其来源。
我认为/ usr / local / src但是在我的Ubuntu机器上,据说充满了开源应用程序,这个目录是空的
如果您只使用Ubuntu repos,它将为空。操作系统负责/ usr并将您安装的任何源删除到/ usr / src。但/ usr / local留给你玩;这就是你安装发行版没有提供的东西的地方。
答案 1 :(得分:1)
关于/ usr / local / src
/ usr / local和任何子目录总是在你的机器上是空的,除非你特意把东西放在那里。它是为该特定计算机的用户安装软件保留的文件系统的一部分。 Ubuntu(或任何发行版)永远不应该触及它。
您的发行版将为其自己的源代码(如果有)提供单独的位置。大多数Ubuntu安装无论如何都不需要源代码(尽管你可以根据需要下载它),但如果他们这样做,它会去/ usr / src。但是如果你想在某个地方放置你自己的源代码并且不希望你的发行版弄乱它,那么只需:
FHS是标准,它说明文件系统中的位置,包括我上面讨论过的区别。
无论您使用哪个目录,都应该能够编译您的软件,因为正如您所看到的,它可以依赖。
答案 2 :(得分:0)
值得关注Sourceforge上的一些项目(http://www.sf.net)。由@bobince监管,分别分发二进制文件和源代码是正常的。用户不需要编译就可以下载和运行。