2010年12月6日星期一

ubuntu 10.04 更新后无线网卡无法加载

ubuntu 10.04 安装后,无线网卡 (netcore NW336,芯片为 rtl871x)驱动安装后,可以连接无线AP
但更新所有的可更新补丁后,重启系统,则再也无法连接无线网络,网络灯不亮。
更新后的内核为 2.6.32-26,启动上一个内核 2.6.32-21,则无线网卡仍然可以使用。
解决办法:
                将 /lib/modules/2.6.32-21-generic/kernel/drivers/staging/rtl8192su/r8192s-usb.ko 拷贝到 2.6.32-26-generic 对应的目录下,重启系统即可。

2010年10月25日星期一

XHTML checklist

1. XHTML = XML + HTML
  包含了所有的 HTML4.01 的元素,但是必须遵循 xml 的语法
2. XHTML 属性必须是嵌套的
  比如:
  <b><i>This text is bold and italic</b></i> 是错的
  <b><i>This text is bold and italic</i></b> 是对的
3. XHTML 元素必须是关闭的
4. XHTML 元素必须是小写的
5. XHTML 必须有一个根元素
6. XHTML 属性名必须小写
7. XHTML 属性值必须加引号
8. 属性不能简写
9. 比如:<input checked> 应该是: <input checked="checked" />
10. 假如要指定一个元素的值的内容的 lang 属性,则必须同时加 xml:lang
<div lang="it" xml:lang="it">Ciao bella!</div>
11. XHTML 规定了一些必须要有的属性
DOCTYPE html head title body
12. 有三种 DOCTYPE
1) 同时支持 HTML 与 XHTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2) 严格遵循 XHTML 标记
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3) 如果想使用 HTML frame 时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

13. 将一个网站转换成 XHTML 的过程
1) 增加 DOCTYPE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2) 将所有的元素/属性转换成小写,属性值加引号
3) 对空标签进行处理
<hr /> <br /> <img /> 或 <img ...></img>
4) 用 W3C 验证页面是否遵循 XHTML 标准
http://www.w3schools.com/xhtml/default.asp

2010年10月21日星期四

css 笔记

1. CSS 几种表示方式(应用范围):
1) html element selector,比如 p {color:red;text-align:center;}
2) id selector, ex. #para1{text-align:center;color:red;}
3) class Selector,ex. .center {text-align:center;}
4) html+class Selector,ex. p.centor{text-align:center;}

2. 插入 CSS 的三种方式
1) 外部 CSS
<link rel="stylesheet" type="text/css" href="mystyle.css" />
2) 内部 CSS
<style type="text/css">
hr {color:sienna;}
p {margin-left:20px;} /*20px ,but not 20 px*/
body {background-image:url("images/back40.gif");}
</style>
3) Inline CSS
<p style="color:sienna;margin-left:20px">This is a paragraph.</p>
3. 当对同一个元素使用了多个 css 时,使用指定的具体的,比如 Inline Css 优于 External Css
以下优先级 4>3>2>1,假如 外部 css 放在了 internal css 后面,则 外部 css 优先
1) Browser default
2) External style sheet
3) Internal style sheet (in the head section)
4) Inline style (inside an HTML element)

4. 属性值为 justify,会使该属性充满页面
比如: text-align:justify; 则可以使文字充满整个页面(类似于 word 中的左右对齐)

5. 设置字体大小
1) W3C 推荐用 em 表示大小,这样,在 IE 里也可以调整字体的大小(查看/文字大小),如果是 px 的话,IE 不支持调整
2) 1em 表示浏览器默认的字体大小,目前是 16px
3) 百分比与 em 共用
body {font-size:100%;}
h1 {font-size:2.5em;}
这种方式在所有的浏览器里都可以放大/缩小,以及调整字体大小
6. Link style
包括四种状态,a:hover 必须在 a:link,a:visited 后,而a:active 必须在 a:hover 后
a:link - a normal, unvisited link
a:visited - a link the user has visited
a:hover - a link when the user mouses over it
a:active - a link the moment it is clicked
7. 有许多属性在 IE 里不支持,除非有 !DOCTYPE 声明,所以总是保持 !DOCTYPE 声明是必要的

8. 当对齐 block 元素时,预定义 body 的 margin & padding 对浏览器兼容是必要的
body{margin:0;padding:0;}
9. @media Rule
在不同的用户接口上显示不同的内容
@media screen
{
p.test {font-family:verdana,sans-serif;font-size:14px;}
}
@media print
{
p.test {font-family:times,serif;font-size:10px;}
}
@media screen,print
{
p.test {font-weight:bold;}
}
10. 可以设置属性为选择器
ex.
[title]{color:blue;}
[title=W3Schools]{border:5px solid green;}
[title~=hello] { color:blue; } /*title Included hello*/
[lang|=en] { color:blue; } /* attribute lang include en */
input[type="text"]{width:150px;display:block;margin-bottom:10px;background-color:yellow;}

Resources:
1. http://www.w3schools.com/css/

2010年10月19日星期二

Mysql 表的存贮位置

Mysql 表的存贮位置

INNODB Engine 缺省的会将表数据及索引存贮在文件 ibdata1 下,ibdata 的位置与初始大小等是可以配置的,支持多个 ibdata 文件

MYISAM Engine 每个表的数据索引是存在独立的表文件中

2010年9月28日星期二

hosts 无法修改的问题

由于众所周知的 GFW 的原因,在 hosts 里加了几个 google https 的解析
360 每次总会报 hosts 异常,今天一不小心点了“一键修复”,然后再想改 hosts 文件都无法改了

修改注册表什么的法子都试过了,都不知道如何处理
最后将 跟 hosts 同目录下的 .sam 文件删除就好了

2010年9月20日星期一

支持 aircrack-ng 的网卡

Card name
Chipset
Antenna
Windows support
Linux
support
Notes
Asus
WL-167g v2
Ralink RT73
Internal
No
Yes
Airlink AWLL3026
Zydas zd1211
Internal
No
Yes
USB info: 0ace:1211 
See Notes 1 and 4.
Alfa AWUS036E
RTL8187L
RP-SMA
No
Yes
80mW
Alfa AWUS036H
RTL8187L
RP-SMA
No
Yes
Click here for a test of this adapter
Alfa AWUS036S
Ralink rt73
RP-SMA
No
Yes
Click here for a test of this adapter
Alfa AWUS050NH
Ralink RT2770F
RP-SMA
No
Yes
Digitus DN-7003GS
RTL8187L
Internal
No
Yes
USB info: 0bda:8187 Realtek Semiconductor Corp. 
Manufacturer page
D-Link DWL-G122 B1
Ralink RT2570
Internal
No
Yes
D-Link DWL-G122 C1
Ralink RT73
Internal
No
Yes
D-Link WUA-1340
Ralink RT73
Internal
No
Yes
Edimax EW-7318USg
Ralink rt73
RP-SMA
No
Yes
See
Note 2
Hawking HWUG1
Ralink rt73
RP-SMA
No
Yes
Linksys WUSB54G v4
Ralink rt2570
Internal or
RP-SMA
No
Yes
Linksys WUSB54GCv1
Ralink RT73
Internal
No
Yes
See
Note 5
Linksys WUSB54GCv2
RTL8187B
Internal
No
Yes
See
Note 5
Netgear WG111 v1
PrismGT SoftMAC
Internal
airodump-ng
Untested
See note 3. Needs a recent GIT kernel from the wireless-testing branch.
Netgear WG111 v2
RTL8187L
Internal
No
Yes
See note 3
Netgear WNDA3100v1
Atheros 9170
Internal
No
Yes
See Note 6
TP-Link
TL-WN321G
Ralink RT73
Internal
No
Yes
Trendnet
TEW-429UB C1
Zydas zd1211b
Internal
No
Yes
USB info: 157e:300d 
ZyXEL AG-225H
Zydas zd1211
Internal
No
Limited
See Note 4
ZyXEL G-202
Zydas zd1211b
Internal
No
Limited
See Note 4

怎样将 ubuntu 的 gnome-panel 恢复到顶部

How can I restore ubuntu's gnome-panel to default position?

昨天将 Ubuntu 10.04 的开始菜单(Ubuntu 叫 gnome-panel) 从默认的上方移到了下方,还加了一个自动隐藏,没想到今天就不能点击菜单上的快捷方式了,折腾了半天才搞定

1. Ctrl + Alt + F1 进入 Terminal

2. cd ~/.gconf/apps/panel/toplevels/top_panel_screen0

3. vi %gconf.xml

4. 找到 auto_hide 项,将 value 设为 false
   找到 orientation ,将 stringvalue 的值设为 top
  
5. reboot  

2010年8月11日星期三

maven install missing jars

mvn install:install-file -DgroupId=com.mchange.v2 -DartifactId=c3p0 -Dversion=0.9.1.2 -Dpackaging=jar -Dfile=c3p0-0.9.1.2.jar
mvn install:install-file -DgroupId=javax.security -DartifactId=jacc -Dversion=1.0 -Dpackaging=jar -Dfile=jacc-1_0-fr-class.zip
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1_0_1B-classes.zip

2010年8月10日星期二

HiveDB

OpenSource 的 HiveDB 对Mysql 支持水平分区,用Java 编写

site: http://www.hivedb.org

HiveDB 的一些缺点:
1. 从 2008.4 起,不再有新的支持
2. 跟应用紧耦合,需要通过调用接口来实现插入记录/新增结点/新增索引/查询记录等
3. 只适用于查询情景固定的情况,因为它需要预建索引

2010年6月4日星期五

世界50所知名大学提供开放课程(ZT)

世界50所知名大学提供开放课程: (Top 50 University Open Courseware Collections)

学术权威
1. 麻省理工学院 :麻省理工学院有许多人认为是在该国最广泛的开放课件的收集,也正好是著名大学中的第一。学科覆盖范围从建筑、规划到人文、科学,此目录中有惊人的信息数量。(http://ocw.mit.edu/OcwWeb/web/home/home/index.htm)在很早以前就有台湾人开始做MIT的汉化课件,有兴趣的朋友可以去搜一下。

2. 卡内基梅隆大学 :这个奇妙的大学有优秀的学术传统。凭借其“开放的学习计划”的目标使每个人都有学习的机会并得到满足。(http://oli.web.cmu.edu/openlearning/forstudents/freecourses

3. 约翰霍普金斯大学彭博公共卫生学院 :约翰霍普金斯大学是世界重要的学校之一。虽然他们的课程设置仅限于健康知识,专业的知识使巨量收集成为最好的之一。
http://ocw.jhsph.edu/

4. 斯坦福大学:这个著名的大学为学生提供的课程,可通过iTunes供选择。(http://itunes.stanford.edu/)

5. 圣母大学 :被许多人认为如果不是世界最好也是在该国最好的学校之一。随着如历史,英语和数学等科目开放课件的产品,任何人都可以受益于这种知识的美妙学校。(http://ocw.nd.edu/courselist

6. 杜克大学法律中心的公共领域 :杜克大学之一,是在南方最好的学校。如果你对法律感兴趣,杜克大学学科领域的开放式课件可以大大有助于您了解司法系统漫长的道路。(http://www.law.duke.edu/cspd/lectures

常春藤联盟

7. 哈佛医学院 :虽然它的课程是限制在医学界,但他们是为在常春藤寻找信息的人很好的资源。哈佛大学提供的课程主题,生物医疗和商业主题不等。http://mycourses.med.harvard.edu/public/

8. 普林斯顿大学的通道 :这所常春藤盟校有一整套客座讲座。翻译不了了:Yale University — This wonderful Ivy League institution has a great number of ivy quality open course classes available for all.(http://uc.princeton.edu/main/index.php

9. 耶鲁大学 :这所美妙的常春藤盟校中的常春藤有一大批高质量的开放课程班所有可用。主题涵盖历史,文学,以数学和科学范围。(http://open.yale.edu/courses/courses.html

西部学府
10. 加州大学戴维斯分校 :美国加州大学的另一学校。课程进行了广泛的各种目录。一些主题包括科学,工程和数学。(http://heather.cs.ucdavis.edu/~matloff/unix.html

11. 华盛顿大学 :华盛顿大学在美国西部是一个极好的大学。开设的课程包括从科学、数学和英语。(http://www.outreach.washington.edu/openuw/

12. 加州大学欧文分校 :加州大学的另一学校提供的大量的课程。可以从网上获得商业、生物科学课程。(http://ocw.uci.edu/courses/

13. 加州大学伯克利分校 :加州大学伯克利分校有激动人心的集合,包括生物学、计算机科学、经济学等等。(http://webcast.berkeley.edu

14. 犹他大学 :U Moodle(在这所学校的开放式课件集合名称)载有大量的信息。历史、英语、教学、和药物治疗只是在此集合所涉及的许多问题中的很少一部分。(http://ocw.utah.edu/courselist

15. 犹他州州立大学 :美国犹他州的课程设置十分广泛不等,从第一年中,以文化人类学的一切。学生可以受益于这一伟大机构的知识基础。(http://ocw.usu.edu/courselist

16. 东犹他学院 :犹他州校训是:“我们一起达成。”这可能意味着很多东西,但主要是它意味着与他们的开放式课件的产品,他们可以帮助人的知识达到新的水平。(http://ocw.ceu.edu/

17. 犹他谷州立学院 :另一个犹他州的学校进入我们的名单。这里所涵盖的主题包括:会计、生物、英语、和工程。(http://open.uvsc.edu/

科罗那地区

18. 塔夫茨大学 :位于马萨诸塞州的波士顿,这所受到广泛关注的大学提供了许多基于开放式课件。内容包括,农业研究,生物研究,遗传学,等等。(http://ocw.tufts.edu/CourseList

19. 马萨诸塞大学,波士顿 :提供包括生物学、数学科目范围的开放课件。(http://ocw.umb.edu/

20. 波士顿学院的Front Row:波士顿学院是一个具有悠久历史的优秀学院。为此,它通过播客演讲提供大量优秀资源。(http://frontrow.bc.edu/

21. *经典播客*:哈弗福德学院 :如果你对经典名著感兴趣,又不介意听播客,那么哈弗福德学院提供的产品是您完美的解决方案。在您出门的时候也可以了解古典文学。(http://www.haverford.edu/classics/audio

中西部学府

22. 密歇根大学 :密歇根州被广泛认为是最好的“平民常春藤”之一,因此它的开放课件的产品应该高度重视。(http://open.umich.edu/education

23. 普渡大学 :有兴趣的人士一定能够受益于这些课程提供的广泛议题。(http://owl.english.purdue.edu/owl/

24. 宾夕法尼亚库茨敦大学 :您可能还没有听说过库茨敦,但它是一个神奇美妙的大学城。其开放式课件提供的产品都非常注重商业。在这个艰难的经济环境下,最好有比你
竞争对手更多的知识。(http://www.kutztownsbdc.org/

25. 密歇根州立大学 :斯巴达人也加入了越来越开放的课件的倡议。提供了广泛的议题和很多不同的课程,为学习了解一些重要学科领域感兴趣的人。(http://www.msuglobal.com/ocw

英国
26. 牛津大学的文字资料馆 :在英国所有大学里牛津大学是最古老,最受人尊敬的。牛津的年龄和它的资源,使这个文本存档成为有兴趣人士的梦幻学术殿堂。(http://ota.ahds.ac.uk

27. Greshem学院 :当谈到音乐这个总部设在英国的大学有着坚实的开放式课件提供。欧洲在历史上有最具影响力的音乐创作,因此利用欧洲学校的资源显然是一个明智的决
定。(http://www.gresham.ac.uk/default.asp

28. 格拉斯哥大学 :这个总部设在英国的大学有几个艺术的课程。对于感国际视野兴趣的学生,这绝对是一个好的开始。(http://podlearn.arts.gla.ac.uk/downloads.html

29. 萨里大学 :英国另一所提供广泛的课程目录、英语和经典名著的大学。(http://info.ee.surrey.ac.uk/Teaching/

30. 诺丁汉大学 :这所大学拥有丰富的历史,它的开放式课件产品反映了它的历史。对感兴趣的人从这些产品能够真正受惠是极好的。(http://unow.nottingham.ac.uk/

31. 剑桥大学播客 :剑桥大学是世界首要的学府之一。因此其丰富的播客产品信息提供给世界各地的人们,这当然是一件好事。(http://mediaplayer.group.cam.ac.uk/main/Podcasts.html

国际部分
32. 东京大学 :是日本的一流大学之一,他不断加入了开放课件的学时。东京大学提供网上举办的讲座,内容从商业到心理学。(http://ocw.u-tokyo.ac.jp/category/eng_courselist

33. 南部昆士兰大学 :这项倍受关注的澳大利亚大学提供了免费课程,包括学科、技术、一般科学等等。(http://ocw.usq.edu.au/

34. 哥伦比亚国立大学 :虽然这个网站是在西班牙,但它仍然具有很大的大量信息可提供。你可能需要有人为您翻译。(http://www.virtual.unal.edu.co/unvPortal/course/CoursesViewer.do?reqCode=viewOfFacultys

35. 香港大学建筑学课程 :另一个进入我们国际名单的是香港大学。课程提供完全是集中在建筑,这绝对是一个单一的最佳去处,以及自由,有关该领域的信息。
http://www.arch.hku.hk/~cmhui/teach/

36. 联合国大学 :你可能从未听说过这个学校,但它的开放式课件产品是一个传奇。所涉及的问题包括:一些电子政务,和生物多样性。(http://www.ocw.unu.edu/ocw/Courses_listing

纯粹在网上的
37. 维基大学 :维基是一个具有广泛影响的项目,旨在提供一个开放式课件信息过多向全世界的人。这种开放课件几乎涵盖每一个可以想象到的话题,并在不断增长。(http://en.wikiversity.org/wiki/Wikiversity:Main_Page

38. 公开大学 :这所大学的唯一目的是给在线学生提供免费的信息和学习材料。考虑到这一点,人很高兴地得知自己的进度,并通过论坛的形式独立研究小组。
http://openlearn.open.ac.uk/

39. 西部州长大学 :在人文科科学领域西部州长大学是重要的在线课程设置。文科教育的价值仍然显着,因此利用这些课程提供的优势是一个很好的决定。
http://ocw.wgu.edu/courselist

40. 特朗普大学 :如果你对了解企业和企业家更感兴趣,那么这的课件为您提供完美的集合。(http://www.trumpuniversity.com/entrepreneurship/index.cfm

41. 卡普兰诺学院 :虽然这个学院没有得到很好的外部环境和已知的开放式课件,但仍是对感兴趣的人具有在学习无需支付传统的费用更的信息神奇商店。
http://ocw.capcollege.bc.ca/courselist

42. 新闻大学 :如果你对在报刊或一般写作兴趣,那么由这所大学提供的开放课件产品是值得一试。(http://www.newsu.org/courses

43. 电子杂志大学 :电子杂志大学的重点是提供人员的自由,而且容易理解有关书面资料。如果你对聚合发行感兴趣,那这是一个奇妙的资源。(http://www.ezineuniversity.com/courses/

不太为人所知,同样是有益的
44. 代尔夫特理工大学 :尽管这所大学并不被众人所知,但在此列出,在技术主题的课件产品,希望了解从设计到编程的人都更出色。(http://ocw.tudelft.nl/

45. 韦伯州立大学 :如果你在学习英语、健康、汽车机械,那么对由华盛顿州立大学提供的这些美妙的部分课程会更感兴趣。(http://ocw.weber.edu/courselist

46. 蒙特雷国际研究所的技术和教育 :加利福尼亚州蒙特雷是睛好的,…….。 完全不知道讲的是啥意思~(http://www.archive.org/details/ap_courses

47. 职训局大学 :职业训练局大学有一个关于技术课程的优秀产品。具体来说有计算机软件的培训和基本编程的人适合刚刚开始进入高科技空间的人。(http://www.vtc.com/index.php

48. 伯克利音乐学院 :对于那些在音乐上有兴趣的人,伯克利有一个自由的,可以帮助您学习如何演奏乐器,将有大量资源发挥你的才能或改善你的才能。(http://www.berkleeshares.com/

49. 西肯塔基大学 :WKU有各种各样免费的不同的学术论题的播客。当您在旅途中你可以听感兴趣的历史和数学讲座。(http://blog.wku.edu/podcasts

50. 会德丰学院 : 这个学院是相当小和不知名的,但是它的资源是独一无二的。它的开放式课件目录包括了使用大量的信息很多。(http://ocw.wheelock.edu/) 

2010年6月3日星期四

Kyoto Cabinet

Kyoto Cabinet is a library of routines for managing a database. 
It's a key/value sql store. Every key and value is serial bytes with variable length. Both binary data and character string can be used as a key and a value. Each key must be unique within a database. 
  • There is neither concept of data tables nor data types. Records are organized in hash table or B+ tree.
  • Kyoto Cabinet runs very fast
          For example, elapsed time to store one million records is 0.9 seconds for hash database, and 1.1 seconds for B+ tree database.
  • Moreover, the size of database of Kyoto Cabinet is very small. 

          For example, overhead for a record is 16 bytes for hash database, and 4 bytes for B+ tree database. Furthermore, scalability of Kyoto Cabinet is great. The database size can be up to 8EB (9.22e18 bytes).
  • Kyoto Cabinet is written in the C++ language, and provided as API of C++, C, Java, Python, Ruby, and Perl. 
  • Kyoto Cabinet is a free software licensed under the GNU General Public License.

2010年3月31日星期三

开源界的 5 大开源许可协议


via JavaEye新闻频道 on 3/30/10

越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象 WordPress,Drupal 这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。
Opensourceubuntu in A Short Guide To Open-Source And Similar  Licenses

什么是许可协议?

什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。
不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。
开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。

GNU GPL

GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:
  • 可自由复制
    你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。
  • 可自由分发
    在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
  • 可以用来盈利
    你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
  • 可自由修改
    如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。
需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议,你必须在源代码代码中包含相应信息,以及协议本身。

GNU LGPL

GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

BSD

BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。
新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。

MIT

MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:
该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。
这意味着:
  • 你可以自由使用,复制,修改,可以用于自己的项目。
  • 可以免费分发或用来盈利。
  • 唯一的限制是必须包含许可声明。
MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。

Apache

Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有一篇文章阐述这个问题)。
Apache 协议还有以下需要说明的地方:
  • 永久权利
    一旦被授权,永久拥有。
  • 全球范围的权利
    在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
  • 授权免费,且无版税
    前期,后期均无任何费用。
  • 授权无排他性
    任何人都可以获得授权
  • 授权不可撤消
    一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。
分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。

Creative Commons

Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:
  • 署名权
    必须为原始作者署名,然后才可以修改,分发,复制。
  • 保持一致
    作品同样可以在 CC 协议基础上修改,分发,复制。
  • 非商业
    作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网站,也有人认为非商业的意思是非盈利。
  • 不能衍生新作品
    你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。
这些许可形式可以结合起来用,其中最严厉的组合是"署名,非商用,不能衍生新作品",意味着,你可以分享作品,但不能改动或以此盈利,而且必须为原作者署名。在这种许可模式下,原始作者对作品还拥有完全的控制权,而最宽松的组合是"署名",意味着,只要为原始作者署名了,就可以自由处置。

延伸资源

本文国际来源:Smashing Magazine A Short Guide To Open-Source And Similar Licenses

中文编译来源:锐商企业CMS 网站内容管理系统 官方网站

    2010年3月30日星期二

    sqlserver 数据库表及日志太大的问题

    1. 问题:数据库日志文件太大
        解决步骤:
      1) 打开查询分析器,输入命令
       DUMP TRANSACTION 数据库名 WITH NO_LOG 
           2) 打开企业管理器--选择数据库名--任务--收缩--文件--类型选择日志--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

    2. 问题:事件数据库太大
        方法:
       1) 打开企业管理器--选择数据库名--备份-选择备份集过期时间及备份位置

    注:收缩数据库及备份均可以在维护计划中设置定期处理

     

    2010年3月1日星期一

    ubuntu 9.10 安装 vidalia 后,启动后无法正常使用代理

    启 vidalia 时,privoxy 没有正常起动,原因是 privoxy 找不到 config 文件

    将 /etc/privoxy/config 拷贝到 /home/zjf/下即可



    注:今天重启系统后,发现还是不行。必须每次重启 vidalia 后,还得重启 privoxy 才行

    执行 /etc/init.d/privoxy start

    2010年1月14日星期四

    connect timeout & connect refused

    1. connection timeout occurs:

         the IP address for the requested server is successfully found,
         connection establishment packets are dispatched to the IP address,
         the destination address deliberately ignores or does not receive them

         your packets are just being lost.. either the system or some intermediate system is firewalled. follow CMA's   advice.. if you cant connect using telnet, a browser or some other app, its a network problem, not a java one


    2. Connection Timeouts (assuming a local network and several client machines) typically result from

          a) some kind of firewall on the way that simply eats the packets without telling the sender things like "No Route to host"
         
          b) packet loss due to wrong network configuration or line overload
         
          c) too many requests overloading the server
         
          d) a small number of simultaneously available threads/processes on the server which leads to all of them being taken. This happens especially with requests that take a long time to run and may combine with c).

    2. similar to connection timeout is Connection Refused:

         but in this case the destination system is actually sending packets back saying "go away, there is no service running on the port you are trying to connect to"