1.3 自由软件和开源框架

自由软件是一种开放程序源代码,可以不受限制地自由使用、复制、研究、修改和分发的软件。但是需要注意的是,有些开放源代码的软件由于版权要求,需要交纳授权费才能够使用,也可商业软件。自由软件只是开源软件的一个子集。

随着互联网社区文化的发展,自由软件占据的比例已经非常庞大。一般情况下,习惯把自由软件称做开源软件,下文中提及的开源软件都特指自由软件。Python解释器是以GPL协议进行发布。我们可以获取Python解释器全部全部源码。如果有兴趣,可以从https://github.com/python/cpython下获取源码进行学习研究。源码目录下会发现LICENSE文件,内容是开源许可说明。使用,修改,发布开源软件时,需要准守开源协议中的要求。常见的开源协议有GPL,LGPL,MIT,BSD,APACHE等。关于协议内容,这里就不赘述,可以网上搜索相关资料。

Python在各个领域都拥有众多开源项目,请参考附录。这些开源项目中包括库和框架。库指的是提供特定基础功能和算法可复用的代码,提供接口供开发者调用。而开源框架会更复杂一些,可能包含多个库,本身有一定运行加载机制。使用框架进行开发,开发者的代码也会被框架加载调用。关于库和框架的概念,没有必要刻意去理解其中区别。在后续教程中,进行练习就会体会到两者具体差异。开源库和框架是众多开发者协作实现的成果,实现基础和框架性的功能。软件开发只需要在框架基础之上,根据约定规则调用接口,配置即能实现复杂功能,避免过多重复性劳动,把精力集中在业务逻辑上,可以快速实现需要的功能。有专门的包管理工具安装这些库和框架,在后续教程会介绍Python包管理工具pip的使用。

声明:

本公众号系列文章未经特别说明,均采用“署名-非商业性使用-禁止演绎 CC 4.0协议授权。任何违反本协议的行为均属于非法行为。如非商业性转载,请保留署名并注名出处。如需商业性转载出版,请直接和作者联系。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218G0YM4400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券