开放源代码的定义由Bruce Perens(曾是Debian的创始人之一)定义如下:
- 自由再散布(Free Distribution):允许获得源代码的人可自由再将此源代码散布。
- 源代码(Source Code):程式的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码。
- 衍生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布。
- 原创作者程式源代码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始的程式码完整性。
- 不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。
- 对程式在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。
- 散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。
- 授权条款不得专属于特定产品(License Must Not Be Specific to a Product):若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也必需要符合开放源代码的条件。
- 授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。
- 授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。
开放源代码与自由软件
许多人将开放源代码与自由软件(free Software)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义。
一些开源项目网址
sourceforge http://www.sourceforge.net
java.net http://www.java.net
www.eclipse.org
www.opensource.org
Lomboz http://www.objectlearn.com/index.jsp (J2EE plugin for Eclipse)
htmlArea http://sourceforge.net/projects/itools-htmlarea/ (所见即所得的在线HTML编辑器)
XmlBuddy http://www.xmlbuddy.com/ (XML Editor plugin for Eclipse)
JFreeChart http://www.jfree.org/ (用于生成图表的项目)
EclipseME http://eclipseme.sourceforge.net/ (J2ME Developmnt Plugin for Eclipse)
mvnForum http://sourceforge.net/projects/mvnforum/ (论坛)
jChatBox http://www.javazoom.net/index.shtml (用servlet实现的WEB聊天引擎)
POI http://jakarta.apache.org/poi/index.html (用于处理Excel,WORD等文档的项目)
FileUpload http://jakarta.apache.org/commons/fileupload/ (用于处理HTTP文件上传得项目)
PDFBox http://sourceforge.net/projects/pdfbox/ (处理PDF文档的项目)
Lucene http://jakarta.apache.org/lucene/index.html (搜索引擎)
Digester http://jakarta.apache.org/commons/digester/ (处理XML信息的项目)
DBCP http://jakarta.apache.org/commons/dbcp/ (数据库连接池)
AXIS http://ws.apache.org/axis/ (WebService 的实现框架)
Jetspeed http://portals.apache.org/jetspeed-1/ (Portal)
HSQLDB http://sourceforge.net/projects/hsqldb/ (Im memory Database Engine)
CEWOLF http://sourceforge.net/projects/cewolf/ (一套标签库实现Web报表,使用的是jFreeChart引擎)
Struts Menu http://sourceforge.net/projects/struts-menu/ (基于Struts的Web菜单项目)
htmlparser http://sourceforge.net/projects/htmlparser/ (用于解析HTML信息的项目)
Mondrian http://sourceforge.net/projects/mondrian/(Open Source OLAP Database)
ProGuard http://sourceforge.net/projects/proguard/(Java的混淆器)
InfoGlue http://sourceforge.net/projects/infoglue/ (J2EE 内容管理系统)
JPivot http://sourceforge.net/projects/jpivot/ (基于WEB的OLAP 展现)
http://java-source.net/
(5)几个常用JAVA开源项目的地址荟萃:
Lomboz http://www.objectlearn.com/index.jsp (J2EE plugin for Eclipse)
htmlArea http://sourceforge.net/projects/itools-htmlarea/ (所见即所得的在线HTML
编辑器)
XmlBuddy http://www.xmlbuddy.com/ (XML Editor plugin for Eclipse)
JFreeChart http://www.jfree.org/ (用于生成图表的项目)
EclipseME http://eclipseme.sourceforge.net/ (J2ME Developmnt Plugin for Eclipse)
mvnForum http://sourceforge.net/projects/mvnforum/ (论坛)
jChatBox http://www.javazoom.net/index.shtml (用servlet实现的WEB聊天引擎)
POI http://jakarta.apache.org/poi/index.html (用于处理Excel,WORD等文档
的项目)
FileUpload http://jakarta.apache.org/commons/fileupload/ (用于处理HTTP文件上传得项
目)
PDFBox http://sourceforge.net/projects/pdfbox/ (处理PDF文档的项目)
Lucene http://jakarta.apache.org/lucene/index.html (搜索引擎)
Digester http://jakarta.apache.org/commons/digester/ (处理XML信息的项目)
DBCP http://jakarta.apache.org/commons/dbcp/ (数据库连接池)
AXIS http://ws.apache.org/axis/ (WebService 的实现框架)
Jetspeed http://portals.apache.org/jetspeed-1/ (Portal)
HSQLDB http://sourceforge.net/projects/hsqldb/ (Im memory Database Engine)
CEWOLF http://sourceforge.net/projects/cewolf/
(一套标签库实现Web报表,使用的是jFreeChart引擎)
Struts Menu http://sourceforge.net/projects/struts-menu/ (基于Struts的Web菜单项目
)
htmlparser http://sourceforge.net/projects/htmlparser/ (用于解析HTML信息的项目
)
Mondrian http://sourceforge.net/projects/mondrian/ (Open Source OLAP
Database)
ProGuard http://sourceforge.net/projects/proguard/ (Java的混淆器)
InfoGlue http://sourceforge.net/projects/infoglue/ (J2EE 内容管理系统)
JPivot http://sourceforge.net/projects/jpivot/ (基于WEB的OLAP 展现)
HttpClient http://jakarta.apache.org/commons/httpclient/ 处理http客户端的接口
CTOChina.Net 时刻关注开源和技术领域的进步与革新并为您提供解决方案以及技术支持