android (安卓)是完全开源的吗?
otyh53
spring 是完全开源的吗先说方法,后说结果。
讨论3个问题,1怎么确定是不是开源软体?
2.如果是开源软体,用的时候是不是可以为所欲为?
3. 答题主的问题。
问题1--->>>>
要判断一个软体是否开源,一般的流程是:
(1)去官网看文件里面有没有提到说是开源软体。一般如果开源,会在文件里很明显的写明open source字样,因为开源对于软体来说是一个极大的优势。
(2)检视是基于什么开源协议,开启软体的安装包,解压之后在安装包的目录下能比较容易的找到license.txt档案,开启之后就可以找到是基于什么开源协议了。
一般常用的开源协议有 Apache License(现在是2.0版本了),比较有代表性的软体有, Apache系列的开源软体,如,Structs,还有阿里巴巴的Druid等。
其它的开源协议,还有Linux用的GPL,然后 MySQL据说是GPL 2.0的,我基本不用MySQL,所以没有下安装包看具体东西。另外还有BSD、MIT, LGPL等50多种开源协议。
问题2--->>>>
如果是开源软体,拿到软体之后是不是可以为所欲为了呢,答案是否定的。
要去看开源协议是怎么要求的,不同的开源协议有不同的要求。举个栗子,Linux使用的是GPL开源协议,根据GPL协议的要求,只要你的软体用了Linux,就得开源,而且必须继续使用GPL协议开源,so,后面的继续开源。这叫做GPL的”传染性“。so,很多很多开源的Linux软体,此处应该有个笑cry的表情吧。(MySQL使用的是这个协议的2.0版本,但是我没调查清楚,这里也不乱说了)
Apache协议得要求就相对宽松了,允许作为第三方包引用,允许修改原始码,允许在原始码的基础上发挥(做一个新产品出来),但是你释出为商业软体或者开源软体的时候,license档案的写法是有具体规定的。戳这里能看到到底咋做才行:apache./licenses/LICENSE-2.0(ps:网上搜到的很多不可靠,so我打算近期把这个翻译一下,如果翻译了,我会在这里贴上我的部落格地址)
问题3--->>>>
关于题主的Spring,由于Spring现在有很多产品,so,这里预设国内web专案最常用的 Spring Framwork。
由于我本人近期很少做Java web专案,所以环境中并没有从官网上下载的Spring的发行包。去官网检视之后,发现现在基本是Maven和Gradle的天下了(原来我还活在原始社会,来一个cry笑的表情吧)。然后在:olex.openlogic./packages/spring/下载了一个spring
按照上面的步骤,我去这里下载了Spring的发行包,解压之后,里面赫然躺着license.txt档案,开启之,赫然发现了Apache License Version 2.0, January 2004这个字样。
(这块有比较全的开源协议解释,不过是英文的:olex.openlogic./licenses)
还有两个窟窿没堵上,有兴趣并且有才的同志可以接着回答:
这里为啥是 January 2004?2.
如果用了Maven和Gradle怎么判断开源协议的版本?
总结一下吧,判断所要引用(或修改或扩充套件)的第三方软体是否开源,首先这是架构师的事情,因为架构师要决定使用哪种技术。然后这是产品经理的事情(ps:我现在任职的公司,产品的license档案是由产品经理提供(写)的)。
当然所要使用的技术在前期进行可行性分析和技术论证的时候,基本已经确定了。So,对于一个编码人员,是不需要管这些东西的,只需要用某种产品,出了版权纠纷(传闻国外有因为开源问题打过官司的案例),也不是咱的事情。但是话说回来,保不准哪天有个机会爬一个台阶呢,我只是想说,机会是留给有准备的人的。(罗嗦了,不要打我,再来一个笑cry)
MFC是完全开源的吗MFC是个类库,你让他怎么开源?
开源是相对于程式,比如MFC开发的一个程式,我们可以说这个程式是不是开源的。
ubuntu是完全开源的么?官网有下载
javashop是完全开源还是部分开源?开源程度很高,可以做底层开发,不会有问题,而且成本低,可以选择
phpBB是不是完全开源的?phpbb是完全开源的,可以任意修改,甚至去掉版本号以及所有著作人相关资讯,DISCUZ只是开放原始码而已,对于商业用途还是要收费的,不能任意修改,也不能去掉所有的DISCUZ相关连结和版权资讯,所以DISCUZ并不是开源 只是公开原始码而已
xiao7china.是用 phpbb修改的仿DISCUZ风格的论坛,嘿嘿,是我滴
shopnc 2014 是不是完全开源的?网上找来的全是盗版的,2014年4月左右流出的版本,以后发现的一些bug官方都提供过N个补丁包了,但是盗版的是不会给你补丁的。学习还行,真正运营还是找官方吧。
小米是的作业系统是完全开源的吗是的,小米系统也是安卓改良UI介面得来的产物
ffmpeg 程式码是不是完全开源是的
本开原始码播放器使用的音视讯解码程式码来源于ffmpeg-0.6.3(:ffmpeg.),
jni衔接程式码和java层程式码来源于havlenapetr(:github./havlenapetr/FFMpeg)。
移植ffmpeg到android的常规关键点网上有很多的帖子可以参考,也可以用资料夹比较工具比较一下,看看新增修改删除了那些档案。
本开原始码的编译环境
1: Android SDK 2.2版,
2: NDK r4版,注意要汇出NDK巨集,
3: IDE开发环境是 eclips 3.5 版
4: libffplay.so是在Android 2.2版原始码目录树中编译出来的,使用Ubuntu10.04和VMware7.1.1版,目前原始码不公开
5: libffmpeg.so编译步骤,cd /cygwin/c/ffplay, ./config_r4.sh, $NDK/ndk-build
6: PC主机开发环境是windows xp。
特别注意,此demo只能在 Android SDK 2.2版上使用,其他版本有修改原始码,重新编译才行。
此开原始码解决了几个特别关键点,达到实用水平。几个关键点如下:
1:arm汇编程式码编译支援,主要是在几个.mk档案中新增LOCAL_ARM_MODE := arm语句,
在config_r4.sh档案中新增--arch=armv5te和--enable-a *** 等开关。
2:在ffmpeg config_r4.sh配置档案中关闭了一些不用的选项后,连线时总是报一些莫名其妙的连线错误,
本开原始码给出终极解决方案(在/jni/jni/Android.mk档案中新增 LOCAL_LDLIBS += C:/ffplay/bin/ndk/local/armeabi/libavcodec.a等语句)。
3:修改havlenapetr中的视讯显示错误bug,经测试havlenapetr原始程式码在模拟器设定为320x480时显示正确,在更大的解析度下显示错误,
本开原始码已修改好此bug,现在无论什么解析度都可以正确显示。
此开原始码其他注意事项:
1:jni衔接程式码相比havlenapetr精简了几个数量级,更方便网友们研习。
2:此开原始码不包括play,pause,s,seek和视音讯同步等功能实现程式码,这部分程式码不开源。
3:Android jni层直接输出音讯示例,Android jni层直接输出视讯示例,基于ffmpeg的Android播放器开原始码,三个工程使用相同的库,相同的方法和技巧,可相互参考。
在moto defy me525上测试通过。
动易的SiteFactory2.0是否是完全开源核心程式没有完全开源,但是动易SF的模型和标签灵活性,足以让使用者进行二次开发,只要稍懂SQL和XML,就能写出各种功能的标签,来实现目前比较流行的功能.如果想用它做站,不需要考虑原始码是不是完全公开,因为一般人不可能对一个程式的核心程式进行完全的改写.没有那个精力也没有那个必要.
想用SF建站,欢迎常来CMS联盟交流讨论:cmsw3c.我们这里有动易及各种CMS的教程.及FANS.爱好者们热情及乐于助人.是一个很好的学习交流的场所.