Adacore Gnat版本和;标准;一

Adacore Gnat版本和;标准;一,ada,gnat,Ada,Gnat,我试图理解Adacore Libre版本附带的Gnat编译器与gcc标准版(比如Linux发行版或MinGw)之间的根本区别 我认为主要的区别可能是Adacore版本始终是最新的,而Linux发行版可能是在发行版打包之日提供的版本 但是否也存在功能上的差异?这意味着Adacore版本中是否有任何改进的功能没有发布到Gnu提供的通用开源版本中 我不是一个非常有经验的Linux用户,所以如果在Gnu/开源领域有更多的经验是透明的,我很抱歉,但是我找不到任何关于这方面的信息 阅读Ludovic Bre

我试图理解Adacore Libre版本附带的Gnat编译器与gcc标准版(比如Linux发行版或MinGw)之间的根本区别

我认为主要的区别可能是Adacore版本始终是最新的,而Linux发行版可能是在发行版打包之日提供的版本

但是否也存在功能上的差异?这意味着Adacore版本中是否有任何改进的功能没有发布到Gnu提供的通用开源版本中


我不是一个非常有经验的Linux用户,所以如果在Gnu/开源领域有更多的经验是透明的,我很抱歉,但是我找不到任何关于这方面的信息

阅读Ludovic Brenta和Stephen Leake编写的Ada Debian策略:当构建Ada代码以生成可执行文件时,它与Ada运行库链接。GNAT编译器不同版本之间的主要区别在于Ada运行时库的许可证

  • GNAT Pro版本=>GNAT修改的GPL
  • GNAT Libre版本=>GPL版本3
  • FSF GNAT版本=>GPL版本3,带有GCC运行时库异常
  • GNAT修改版和带有GCC运行库异常的GPL版本3允许开发商业和专有软件。GNAT libre版本不适合商业软件开发,但非常适合开发自由软件。FSF GNAT版本似乎比GNAT Libre版本晚了一年左右


    我想AdaCore也希望我指出,对于GNAT Pro版本,AdaCore提供了支持,这意味着,例如,如果在编译器中发现错误,可以通知他们这一点,并将立即纠正。

    此外,OP的说法是正确的,AdaCore的版本通常比您在发行版的包存储库中找到的版本更新——这与任何其他开源项目都是一样的。周围的工具(GPS IDE、SPARK toolkit等)由AdaCore直接维护,似乎没有作为GCC的一部分发布。GNAT Pro RTS现在附带了GCC运行库例外。AdaCore GNAT Pro版本可能较新,但Libre版本并不太新。FSF Gnat倾向于基于较新的gcc(现在是gcc4.9,vs…抱歉,我手头没有Gnat GPL 2014可供检查),但其Ada功能通常落后于Adacore产品。好的,谢谢。我想总结一下:Adacore Libre版本可能比Gnu版本更新,但不允许商业软件开发,而Gnu版本确实允许这一点,但可能在功能方面更旧。最后一点我不确定。这已经是一条很好的一般经验法则。只要遵循GPL完全许可的要求,法律允许使用Libre版本进行商业软件开发。AdACORE建议您考虑在没有厂商支持错误修复、更新或建议的情况下进行这样的商业努力的智慧。