当前位置:首页 » 操作系统 » 捐赠源码

捐赠源码

发布时间: 2022-09-05 20:09:56

A. java是什么

java

Java简介
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.6。
Java分为三个体系JavaSE,JavaEE,JavaME。

Java语言
Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:
1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。
2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
4、Java IDL(Java Interface Definition Language) 提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。
5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。
6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。
7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。
8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。

在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。

Java开源项目

Spring Framework 【Java开源 J2EE框架】

Spring 是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。【SpringIDE:Eclipse平台下一个辅助开发插件】.

WebWork 【Java开源 Web框架】

WebWork 是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】

Struts 【Java开源 Web框架】

Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】

Hibernate 【Java开源 持久层框架】

Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate Synchronizer】【MiddlegenIDE】

Quartz 【Java开源 Job调度】

Quartz 是OpenSymphony开源组织在Job scheling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。

Velocity 【Java开源 模板引擎】

Velocity 是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和php之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生sql和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】

IBATIS 【Java开源 持久层框架】

使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。

Compiere ERP&CRM 【Java开源ERP与CRM系统】

Compiere ERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。

Roller Weblogger 【Java开源 Blog博客】

这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。

Eclipse 【Java开源 开发工具】
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数 —4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。

XPlanner 【Java开源 项目管理】
XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。

HSQLDB 【Java开源 DBMS数据库】
HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92 标准 SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。

Liferay 【Java开源 Portal门户】
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts 框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。
主要特点:
1、提供单一登陆接口,多认证模式(LDAP或SQL);
2、管理员能通过用户界面轻松管理用户,组,角色;
3、用户能可以根据需要定制个性化的portal layout;
4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;
5、支持主流的数据库,如PostgreSQL,MySQL;
6、使用了第三放的开源项目,如Hibernate, Lucene, Struts;
7、支持包括中文在内的多种语言;
8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;

JetSpeed 【Java开源 Portal门户】
Jetspeed 是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML。用户可以使用浏览器,支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息。Jetspeed扮演着信息集中器的角色,它能够把信息集中起来并且很容易地提供给用户。

Jetspeed具有如下的特征:
* 即将成为标准化的Java Portlet API
* 基于模板的布局, 包括JSP和Velocity
* 通过开放的内容同步技术支持远程XML内容交换
* 定制默认的主页
* 使用数据库进行用户认证
* 内存缓存技术, 加快页面的响应
* 通过Rich Site Summary技术, 支持同步内容
* 和Cocoon, WebMacro, Velocity集成.
* Wireless Markup Language (WML) 支持
* 使用XML格式的配置文件注册portlet.
* 完整的Web Application Archive (WAR) 支持
* Web应用程序开发的基础设施
* 可以在本地缓存远程内容
* 与Avantgo同步
* 可移植到所有支持JDK1.2和Servlet 2.2的平台
* 与Turbine模块和服务集成
* 可以根据用户, 安装媒体类型和语言的不同设定, 产生不同的个性化服务
* 持续化服务使得所由的portlet能够容易的存储每个用户的状态, 页面和portlet
* 使用皮肤技术使得用户可以选择portlet的颜色和显示属性
* 自定义功能是的管理员可以选择portlet以及定义个人页面的布局
* 在数据库中存储PSML
* 通过Jetspeed的安全portlets管理用户, 组,角色和权限
* 基于角色对访问portlet进行控制

JOnAS 【Java开源 J2EE服务器】
JOnAS 是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。

JFox3.0 【Java开源 J2EE服务器】
JFox 是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发! 如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。

JFox 3.0 拥有以下特性:
1. 重新设计的 IoC 微内核,融入 OSGi 模块化思想
2. 设计成嵌入式架构,能够和任何 Java Web Server集成部署
3. 支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件
4. 支持 EJB 发布成Web Service
5. 采用 JOTM(http://jotm.objectweb.org/)提供事务处理,支持两阶段提交(2PC)
6. 采用 XAPool(http://forge.objectweb.org/projects/xapool/) 提供 XA DataSource,支持智能连接池管理
7. 内置 MVC 框架,实现自动Form Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB
8. 支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势
9. 提供 Manager 管理模块,可以查看和管理各种运行时参数
10. 提供根据 JFox 特色重写的 Petstore 应用模块

B. Windows10 64位专业版,一插入U盘就提示:“压缩(zipped)文件夹”,关了过几秒就又

下驱动精灵更新全部驱动,新装win10还要下个rar安装。解决请采纳,多谢(o^^o)

C. 华为又双叒叕出大招·Harmony OS源代码捐献给开放原子开源基金会

前不久,华为在心声社区发布一则由华为轮值董事长徐直军签发的,关于规范HarmonyOS(鸿蒙)沟通口径的通知。

——华为的这一举动,直接打脸那些对华为鸿蒙OS操作系统热燥冷奉的人,让他们亲自去看一看哪些源代码,是不是抄习谷歌安卓的?!

其实华为捐鸿蒙源代码的真正目的,不是上述所谓,而是在布局一个更大的生态系统,就是以华为鸿蒙OS操作系统为班底的5G移动互联网加持的物联网生态圈。

借着中国制造业的优势,华为可以把鸿蒙os操作系统,免费给那些新能源 汽车 生产商、白家电、小家电,给物流行业,甚至给工业生产线等等友商使用,让那些产品装上互联互通的智能神经线,让身边万物都有感知的、能互动的串联/并联起来。

一旦华为这个万物互联的生态圈打造起来,谷歌、苹果那些原来占着霸主地位的巨头们,就难以撼动华为了。这就是谷歌、苹果急吼吼的抄华为作业,也想推出他们自己的物联网操作系统的根本原因。

华为正是有这种超前的眼光,布局未来,把自己辛辛苦苦花了近十年时间开发出来的智能终端操作系统底层源代码,以打包成OpenHarmony的形式,全部捐献给开放原子开源基金会。这种心胸,这种能力,不是一般公司能做出来的。

华为形成了OpenHarmony开源项目,广纳全球苦谷歌、苹果独霸移动互联网操作系统太久的有识之士和有志之士,参与OpenHarmony开源项目共建,打造一个不受美国控制的物联网生态圈。

抛开上述的意识形态(其实科学无国界就是个谬论),全球有兴趣、有需要的组织和个人,都可参与OpenHarmony开源项目。

迄今为止,据华为官方统计,已有245位贡献者,华为一直默默的支持着他们,且将持续加大对全球开发者的支持。

OpenHarmony开源项目,是不受华为控制的项目,它受开放原子开源基金会TOC 控制(TOC作为中立的技术决策机构存在,负责基金会技术相关的决策,以及项目孵化评审等)。从这点上,就可以让其他友商放心。

而开放原子开源基金会,是由民政部登记、工业和信息化部主管的基金会。该基金会不受华为控制。

.

华为刚刚正式发布的HarmonyOS 2.0版,与华为捐献到开放原子开源基金会形成的关系,就像一栋大楼,是装修好的大楼与框架大楼的关系。华为鸿蒙os操作系统2.0版本,是一座装修好的大楼;而OpenHarmony开源项目,就是一个只有框架的毛坯大楼。

华为把源代码捐献给开放原子开源基金会,形成的OpenHarmony开源项目,类似于现在安卓原生操作系统,为的是吸引全世界的“码农”粉丝。

华为手机原来用的EMUI,是基于安卓原生操作系统,由华为深度开发出来的。无论是华为,还是小米、OPPO,都可以基于OpenHarmony开源项目开发自己的操作系统,就像华为的EMUI与小米的MIUI,大家的实力都差不多。

就目前来看,华为的鸿蒙os操作系统,实力超群,其他有商要抄作业,还得花两三年以上的时间。

D. 求公益捐款网站源码

200源码网上有套公益的网站源码,还有套志愿者协会的源码,有兴趣可以去看下

E. 华为为什么要把鸿蒙系统捐赠出去呢

因为现在我们用的操作系统都是苹果的ios或谷歌的安卓系统,鸿蒙如果想成为第三个系统,就必须要达到一定的用户才能实现。而华为手机因为打压,现在的出货量已经很小了,光靠华为本身的手机出货量是满足不了鸿蒙生存需求的。所以,华为为了让更多厂商使用鸿蒙系统,才将系统开源码捐出给国家基金会控制,以打消其他手机厂商的担忧。

F. 网站的版权和源代码是一回事吗是否拥有了版权就拥有了源代码

开放源代码软件这一定义的来源是从技术角度,而自由软件这一定义本身就是版权意义上的范畴.自由软件的"自由"体现为通过版权许可给予的自由,而不是自由的没有知识产权。也就是说, 自由软件不是没有版权,它首先是承认软件的版权--软件有原始的版权所有者,然后纳入自由软件的版权许可约束,使每个人在维持该许可的条款不变的情况下,都有权复制, 修改和发布软件或其衍生的工作,这就是所谓的自由软件的自由理念。 Richard Stallman在《自由软件联盟宣言书》(《GNU Manifesto》)中有这样一段对知识产权的论述:“仔细研读过知识产权法律条款的人会发现,知识产权并不是一种固有的权利,现行的各种知识产权都是立法机构通过专门立法赋予的权利,所有的知识产权都是社会给予的许可。”这是Richard进行自由软件发展工作的法律立足点,他要取得知识产权法上的论证,并且他认为知识产权是一种社会赋权,既然知识产权是作为一种权利是立法上授予的权利,并且知识产权法也允许运用“许可”这种方法,通过契约的方式来变更和调整知识产权的权利人与使用者之间的权利义务,于是Richard从许可这一个角度着手,使自由软件的运作在不同于商业软件的运作,即扩大所谓的"自由"时, 能有自己的法律依据——在承认版权的前提下,通过软件的版权许可来实现自由软件的自由权利的要求。

对于普通的商业软件, 软件开发商与使用者之间一般都会设立软件使用许可协议,即“一般商业许可”(General Business License,GBL). 这种许可协议一般由开发商单方拟订,用户接受协议是使用软件的前提,而获得许可的前提是支付费用购买软件产品.其许可条款一般按照版权法或专门的软件保护条例,或者通过双方合意达成略高于版权法和软件保护条例保护标准的软件许可使用条款。
面对于这种显然不适合自由软件的GBL,Richard在倡导自由软件联盟计划时, 从软件的版权许可协议入手, 创设了一种与自由软件发展相适应的" 通用公共许可协议"( General Public License,GPL),凡想加入GNU的软件着作人都要接受这份许可协议,其宗旨就是保证用户有无限复制和修改的权利。更有趣的是,相对于“着作权”(“Copyright”)这一名词,Richard新造了一个词,将这种许可协议叫做“Copyleft”[注20]。“通用公共许可协议”在导言部分就明确了这项许可协议的法律立足点:(1)承认软件的版权;(2) 提供这种许可协议以使获得授权的复制,散发和修改软件的权利。 GPL是自由软件着作人同意的保证任何人有共享和修改自由软件的许可协议,GPL有13条主要条款,其中社会公众作为被许可人享有最主要的4项权利:(1)为了任何目的的运行该程序;(2) 有自由获得源代码的权利,并在此基础上研究程序是如何运行的,并可为了个人的目的改变该程序;(3)有自由散发该复制件的权利;(4)有自由改进程序,并要求将自己的改进向公众公布的权利。由这些规定可以看出自由软件的权利人在保留权利的同时, 已经在相当程度上向社会公众许可了复制权和修改权。同时GPL也规定社会公众有以下义务: 用户在发布源代码和一切派生工作时不收费(除必要的工本费),不附加其他条款,并必须附带GPL条款。这样任何人无论是否作了修改,都必须连带传递复制和修改这个软件的自由度,使得自由软件工作得到延续和认可。
“自由软件”是一个版权意义上的范畴。自由软件认为软件的源代码应该是属于全人类的公共知识产权,应该在编制和使用程序的人之间自由地传播,而不应该是商人谋取利益的手段。对这一知识产权的任何限制最终都将造成发展的限制和阻碍。自由软件的倡导者们不是企图将别人的软件共化,他们的做法是将自己的软件作品纳入自由软件的范畴,贡献给全世界。
通用公共许可证版权协议是一种与传统知识产权概念截然不同的全新版权体系。它与传统的软件知识产权的不同在于:它保证任何人都有发布自由软件的自由(如果愿意,可以对此项服务收取一定的费用);保证任何人能够得到源程序或者在需要的时候能够得到源程序;保证任何人能够修改自由软件或将自由软件的一部分用于新的自由软件;而且还保证任何人知道他们能够做这些事情。为了保护这些权利,通用公共许可证作出如下规定:禁止任何人不承认这些权利,或者要求其他人放弃这些权利。如果修改了自由软件或者发布了软件的副本,这些规定就转化为确定的责任。
自由软件与传统的商业软件的主要区别在于:商业软件一般不提供源代码,而自由软件保证提供源代码;商业软件禁止用户将软件散布给第三者,而自由软件在法律上保证任何人有权按照许可证的规定散发软件;更为重要的是自由软件在法律上保证了任何软件作品一旦宣布为自由软件,便永远是自由软件,包括原始作者在内的任何人都无权改变。任何更新、移植、修改和增强都被定义为“导出性工作”,是不能改变原始版权说明的。
当然,通用公共许可证既然是一种软件知识产权的保护方式,它并不排斥软件开发者从软件中获取利益,只是盈利的方式有所改变:从过去依赖软件拷贝的销售,转向主要提供软件及信息服务。而且,现有商业软件嫁接到GNU/Linux等自由软件上时,也不一定非要公布源代码和提供免费拷贝,这意味着,自由软件可以与商业软件共存。
当我们使用商业软件时我们都会看到一个版权信息,它通常是说被许可人没有权力对被许可人买的软件进行拷贝、分销。至于理解和修改,因为根本就没有源码所以就无所谓“理解“和“修改“。毋庸讳言,在我们的身边,至今有人还未注意到有关版权的信息,因此,我们不知道我们究竟放弃了自己的哪些权力,而我们或许会为此付出代价。
其实,自由软件的本质不是免费,它是赋予使用者运行、拷贝、散布、研究、改进软件的自由,并保证这些自由不会因为私有软件的介入而丧失:学习程序如何工作、修改使之适合被许可人的需要;散布,使被许可人和被许可人的邻居、朋友共享软件;改进程序,将被许可人的改进公之于众,使整个社会受益等权利。它的本质是“思想共享、知识共享、源码共享”,是非垄断,是鲜活的思想贡献。借助别人的优秀思想,加上被许可人自己独特思维使全社会受益。如果被许可人没有钱,被许可人可以通过免费的渠道,如从朋友处拷贝或通过英特网下载。如果被许可人很有钱,被许可人可以以捐赠的方式用高价购买。这一切取决于您自己。
当随意使用一个软件而不必担心侵权时,深晓“自由”真谛的人们,必会感到社会的温馨和友爱,当可以随时修改程序使它更好、更适用时,一定能体验工作效率得到提高的兴奋,当把自己的辛勤劳动公之于众、供千万人使用的时候,被承认的自豪感将充分体验自由、和谐、高效的世界充满着爱!

G. C# 文件比对工具源代码

自己写一个或许有点麻烦吧……

网上有一些开源项目可以参考——如果你的项目也是开源的话。
可以在网上搜索一下关键字“C# diff Open Source”等等。

我大致浏览了一下,Menees Software的DiffDotNet比较接近你的要求(但可能还是需要你自己再做一些进一步的修改)。此外,这个东东的许可模式是CharityWare,如果你下载使用了他的东西,你需要向任意一个你自己选定的爱心或慈善机构捐赠5美元(或相等价值的人民币)。当然,这也纯属自觉啦……:)

这个库及源码的网址:http://www.menees.com/DiffDotNet.htm

H. PHP 关于一个捐赠信息公开、查询小程序的编写求助

<?php
$result=mysql_query("select * FROM normal");
$total=0;
while($array=mysql_fetch_array($result)){ //判断是否到达数据库的结尾
$total=$total+$array[cash];
echo "<tr>
<td class=mid align=center width=12%>$array[id]</td>
<td class=mid align=center width=12%>$array[name]</td>
<td class=mid align=center width=12%>$array[date]</td>
<td class=mid align=center width=12%>$array[cash]</td>
<td class=mid align=center width=20%>$array[other]</td>
<td class=mid align=center width=17%>$array[t]</td>
</tr>";
}
?>

热点内容
40款方舟编译过的软件 发布:2024-05-10 17:24:45 浏览:481
java在人工智能 发布:2024-05-10 17:23:11 浏览:907
minecraft基岩版搭建服务器 发布:2024-05-10 17:22:30 浏览:323
传播源码罪 发布:2024-05-10 17:22:07 浏览:398
linux负载命令 发布:2024-05-10 17:18:49 浏览:609
move拒绝访问 发布:2024-05-10 17:18:47 浏览:491
迈腾怎么连接安卓carplay 发布:2024-05-10 17:07:44 浏览:723
linux服务器io怎么查 发布:2024-05-10 17:07:41 浏览:609
是会吃编程 发布:2024-05-10 17:06:59 浏览:357
怎么剪辑水印安卓 发布:2024-05-10 17:06:57 浏览:539