D盘

workspace
posts - 165, comments - 53, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

日历

<2025年4月>
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

常用链接

文章分类

搜索

  •  

最新评论

虚拟机一直在使用VMWare,最近发现开源世界里的Sun xVM VirtualBox非常不错,从试用到喜欢,真是不错啊,不过昨天用ghost安装xp的时候出现了蓝屏,从网上一搜就解决了问题哈哈。

http://forum.ubuntu.org.cn/viewtopic.php?t=140911
主要受这一句启发:
得到的D影像在virtualbox中第一次启动的时候可能会报驱动错误,并蓝屏死机,例如报p3.sys等。可以把D挂载到另一个正常运行的虚拟机中,删除/改名这个驱动文件,一般在windows\system32\drivers下。

我的做法是,ghost回去以后,马上在winpe里面把p3.sys找到并删除,就ok了。


另外,VirtualBox的确是个不错的虚拟机软件,功能强大、操作简便,最主要是开源免费。相比vmware,只有一个遗憾,就是没有从主机到虚拟机的文件拖拽,只能依靠共享或者USB设备进行交换了。其他各方面都很好,尤其是无缝模式很有意思,用起来就像和主机是同一台电脑一样。

posted @ 2009-08-21 13:39 巴西木 阅读(1863) | 评论 (1)编辑 收藏

开源软件的是与非

2009-6-5 作者:陆首群 转载自:新浪博客 网友评论 0 条 点击进入论坛

  开源软件是免费软件还是可看作为低价服务?

  开源软件可否为用户提供支持和服务?

  开源软件可否配置商业服务模式?

  开源软件的开发全是无国界的吗?

  开源软件是否完全排斥拥有自主知识产权?

  开源软件如何将合作创新与自主创新结合起来?

  如何将自由软件价值观与开源软件的商业模式平衡于一体?

  开源和微软操作系统软件哪个安全?

  据IDC调查分析,截止2008年底,全球付费Linux服务器(向用户提供支持服务的Linux版本)约为150万台,免费Linux服务器(不向用户提供支持服务的Linux版本)则与付费Linux服务器基本相当,大约也为150万台左右。

  所谓“付费Linux”或“付费开源软件”,指具有商业模式的Linux或开源软件版本,而“免费Linux”或“免费开源软件”,指不具商业模式的Linux或开源软件版本。

  一般来说,由开源社区开发并发行的开源软件,即我们称之为“开源项目(Open Source Program)”的开源软件,一般都是“免费开源软件”;而由企业(发行商,Enterprise or Distributor)进行二次开发并发行的开源软件,即我们称之为“开源产品(Open Source Program)”的开源软件,一般是“付费开源软件”。

  必须指出,开源社区开发和发行的开源软件,首先要体现自由/开源软件的价值观:开放、共享、协同、自由、无偿、选择;所谓开源软件是“利他主义”(或“共产主义”,Altruism or Communism)与“利己主义”(或“资本主义”,Capitalism)矛盾的对立和统一(或平衡),即体现自由开源软件价值观与配置商业服务模式的平衡;企业开发和发行的开源软件,是在继承社区开发和发行的开源软件(价值观、开放源代码、开源许可协议)的基础上,进行再开发(二次开发),并采取相应的商业模式;商业模式是开源软件得以持续发展,实行规模化、产业化的必要条件,开源软件的商业模式是一种以服务为主要内容、实施低价销售战略的模式。

  开源软件商业版是基于社区版发展起来的,开源软件商业版与社区版的关系,在实践中可以归纳为如下各种主要类型:

  1,双授权模式

  如MySQL。MySQL(社区版)执行自由/开源软件许可协议(GPLv3),其源代码开放,人们可从网上免费下载;MySQL(商业版)是基于MySQL(社区版)再开发的,软件授权模式发生了变化,MySQL(商业版)是要收费的,或通过提供服务来收费。

  又如Apache。Apache(社区、基金会)是一个非盈利性组织,Apache软件基金会只向社会提供开源版本(可在网上免费下载),有一些企业如“春之源(Spring Source)”提供支持Apache服务或商业版本,但Apache基金会规定这些企业不能随意使用Apache商标。如果某互联网网站下载Apache软件,安装到服务器(硬件)中,以建立网络/应用服务器系统时,Apache基金会允许他们称为Apache网络/应用服务器,并在其网站上对外提及“Powered by Apache”。

  还有如SugarCRM,也采用双授权模式,其开放的软件(占80%)不收费,不开放的软件(占20%)要收费;另外,如Open Office.org与Star Office的关系,也可归纳为双授权模式。

  2,对开源软件社区版进行工程化、产品化处理(二次开发)

  如各种版本的Linux操作系统(产品)。一般由Linux发行商基于Linux(社区版),进行后续的工程化处理或再开发,完成或发布Linux(商业版或产品版);二次开发的工程化技术包含:① 优化内核,发行商发布的内核源代码为Linux社区发布的“主干(Official)源代码”,允许与其实际执行而不公布的源代码(即发行商的“分支源代码”)有3-5%的偏差(这是通过测试和经验来获得的),②兼容性测试和质量认证,③ 对各种软件模块(在内核中约有1500个左右软件模块)的不同组合或配置(以提高效率),④ 回归移植或降级处理(Bug Fix,Patch, back porting),⑤ 专用工具和插件,⑥ 本地化需求功能。社区开发的开源软件(开源项目)是原创性技术,企业后续开发并完成的开源软件(开源产品),是开源技术的成熟化过程或产品化过程(二次开发以促使开源软件趋于稳定、优质、高效、成熟)。企业发行的Linux操作系统软件(产品),继承并开放由社区开发的源代码,但企业开发的工程化技术是不开放的,含有自主创新因素和自主知识产权,这时Linux操作系统作为成型产品的整体软件是要收费的,或通过服务来收费。

  Red Hat的一位开源专家曾说:Red Hat Linux有两种版本,一种是针对“1亿人”的免费版本(或收1元成本费的基本免费版本),这是为大多数人免费提供的社区版,对这种版本,Red Hat不提供Bug Fix、Patch,也不向用户提供支持、服务;另一种是针对“100个人”(这是指企业用户),每户收费“100万元”(向企业提供若干套收费的版本,并向用户提供Bug Fix、Patch,提供支持和服务)。

  3,在开源软件(社区版)上采取附加软件模块的方式

  如国内开发的“银河麒麟”操作系统,它是在Free BSD(开源软件)基础上再开发的(自行开发的主要是安全软件,约占整个软件的不足20%),等于在80%的开源软件上附加上20%的闭源软件模块。这样做的结果,连美国国家安全局(NSA)都认为,“银河麒麟的研发使美国向中国军网进行渗透变得无效”。

  顺便指出,基于开源软件(社区版),采用附加专用软件模块方式,在二次开发后形成的整体软件中,附加专用模块的构成不得大于20%,这时整体软件才还可称为“开源软件”。

  4,定制模式

  如Ubuntu。Ubuntu永远是免费的,用户可任意下载、自由使用和修改(这是指其发布的社区版);Ubuntu也有商业版,这是指由Ubuntu的发行商Canonical为用户定制特别版Ubuntu,Canonical并向用户提供支持和服务,这是要收费的。举例来说,Ubuntu支持服务的收费标准为:桌面(每套)9ⅹ5,250美元;24ⅹ7,900美元;服务器(每套)9ⅹ5,750美元;24ⅹ7,2750美元。

  当然,如Linux内核(Kernel)等一些自由软件,是没有商业模式的。

  在如上所述的基础上,我要回答一些人对开源软件认识的思想误区(谈一谈开源软件的是与非):

  有人说:Linux都是免费的。不对!如上所述:Linux有免费的和付费的两类;对其他开源软件也如同Linux。

  有人说:Linux的缺点是不为用户提供支持和服务。不完全对。只有免费的社区版是如此;而对付费的商业版(或企业版、产品版),Linux发行商要为用户提供在产品使用寿命周期内全程的支持和服务。

  有人说:开源软件不应是商业软件,不应具商业模式。不对!上面说的很清楚了,开源软件可以配置商业服务模式(只有社区版免费的开源软件没有商业模式)。

  有人问:免费与付费的开源软件在功能与服务上有什么区别?其实,免费的开源软件一般都是原创性的社区版,开源软件(社区版)的性能尚不够成熟,也不能完全满足某些重要用户的特殊需求,它可以免费获得,但得不到开发者的技术支持和相应服务;而收费的开源软件一般都是企业(发行商)后续开发的商业版(或产品版),此时性能趋于成熟(经工程化开发),能更好满足某些用户的需求(做好定制化开发工作),这时用户虽然要付费,但发行商将为用户提供在产品使用寿命周期内全程的技术支持和相应服务。

  有人说:开源软件的开发无国界,是全球志愿者集体开发、合作创新的产物,不能把它限制在某一个企业或某一个国家来进行自主开发或自主创新。其实这说对了一半。开源社区对开源软件进行的原创性开发,是适用于这种说法的,说的完全对!但要使开源软件产品化,趋于成熟,更好地满足用户需求,还要进行工程化、定制化的后续开发工作,这些开发工作一般由企业(或发行商)来承担,这时的二次开发工作当然体现自主开发创新的特点。对于企业(发行商)最终推出的更为完整的、更加成熟的、产品化的开源软件版本(并配置商业服务模式),则可以称之为某企业的版本(并冠以其商标),也可称之为某地、某国的版本,所以,如果说到这种版本的“国产化”,我想也是可以的。

  有人说:开源软件既要体现自由软件的价值观,又要配置商业模式,这是不可调和的矛盾,只能取其一,不能合其二。我要说的是,请你体会一下上面谈到的“开源软件是‘利他主义’与‘利己主义’对立统一(平衡)的产物”这句哲学语言的深刻含义,再看一下上面所列的开源软件社区版与商业版关系的各种类型,这时是否可以解答你的疑惑,而得出这样的结论:不搞极端,做好统一或平衡是完全可能的。

  关于开源和微软的操作系统哪个安全的问题,现摘要5月12日《华盛顿时报》透露的9月30日美国国会听证会的有关消息,就一目了然了。《华盛顿时报》发表的署名文章,题目是《中国阻止美国发动网络战争》,文中透露美国政府网络安全专家、国家情报及美国战略司令部顾问凯文·G·科尔曼在美国国会(美中经济与安全评估委员会)听证会上的一些证词,科尔曼说:“美国过去一直利用中国军网和政府网络配备脆弱的操作系统(比如说微软的系统)的服务器的机会进行渗透,自从中国研发了名为银河麒麟(Kylin)这个更加安全的操作系统并于2007年服役后,该系统强化了中国关键的服务器,使美国军方和情报机构再也无法实行渗透,致使美国网络防卫能力无效!”

  当然,我在这里也要指出,如果只是配置完全开放、透明的开源操作系统软件(社区版),也不足以保证我们网络的安全;网络安全呼唤能将自主创新包含于其中的开源软件。


来源:http://www.soft6.com/news/14/140399.html

posted @ 2009-08-06 18:05 巴西木 阅读(1697) | 评论 (0)编辑 收藏

使用1中提到的方法解决了vc8所编译程序不能独立在windows2003上运行的问题。

转自:http://hi.baidu.com/hardyheron/blog/item/0a80714575dd883687947387.html


使用VC2005编译静态应用程序的方法
2009-07-16 18:03

使用VC编译C或者C++程序,都需要相关的C runtime库才能运行。如果你是VC6,相应的库就叫MSVCR,如果是VC2005,那就是MSVCR08,VC2008就是MSVCR09。我这 里假设你安装的是VC2005,请进入如下目录:{VS Install Dir}\VC\redist\x86和{System Driver}:\windows\system32,你就会发现下面有很多很多的库。没错,这里相当一部分就是C Runtime库。

用VC2005编写的Console Win32 C/C++程序,怎么发布给最终用户呢?有两个方法:

(1) 静态引用C Runtime库

打开"项目"->"属性"->"配置属性"->"C/C++"->"代码生成"->"运行时库 "。这里一共有四个选项,其中MT开头的是静态引用,MD开头的是动态引用,d结尾的是Debug调试版本,没有d的是Release发布版本,所以就一 共有四个选项。

我们选择/MT(这是默认选项),相应的在"项目"->"属性"->"配置属性"->“常规”里选上“在静态库中使用 MFC”。然后编译程序(生成的程序应该不小),把这个程序发给用户,然后用户就可以直接运行了。

如果你是英文版的Visual Studio 2005,则设置这个属性的路径为:"Project" --> "Properties" --> "Configuration Properties" --> "C/C++" --> "Code Generation" --> "Runtime Library"。

(2) 动态引用C Runtime库

跟上面差不多,不过是用/MD选项编译,然后发给用户。这时,用户是不能运行这个程序的,会报个"程序安装出错,不能运行"、"重装系统可能会修复问题"之类的提示。

这时我们还要把C Runtime库一并发过去。把{VS Install Dir}\VC\redist\x86\Microsoft.VC80.CRT下的所有文件(注意,是所有,包括那个.manifest文件)发给用户, 用户把这些文件放在我们程序的同一个目录,然后再次运行,这时,程序就起来了。

第一种是静态编译的方式,第二种是动态编译的方式。静态编译出来的可执行文件会比动态编译出来的大许多,但是用户使用上会方便很多,可以视情况选用。

如果你有多个工程,请记住把每个工程的配置都设成一致。

posted @ 2009-07-21 16:26 巴西木 阅读(2122) | 评论 (0)编辑 收藏

转自:http://www.kylogs.com/index.php/2008/04/18/131.html

开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否定的。开源运动同样有自己的游戏规则和道德准则。不遵行这些规则不但损害开源运动的健康发展,也会对违规者造成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。
现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。

BSD开源协议
BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。
但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件:
1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。
2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。
BSD 代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对 商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。

Apache Licence 2.0
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似:
1. 需要给代码的用户一份Apache Licence。
2. 如果你修改了代码,需要再被修改的文件中说明。
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。
Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

GPL
我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代 码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种Linux,包括商业公司的Linux和Linux上各种各样的由个人,组织,以及商 业软件公司开发的免费软件了。
GPL协议的主要内容是只要在一个软件中使用(”使用”指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题, 还可以享受免费的优势。
由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。
其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。

LGPL
LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL 允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并 发布和销售。
但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源 代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。
GPL/LGPL都保障原作者的知识产权,避免有人利用开源代码复制并开发类似的产品。

MIT
MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.

posted @ 2009-07-20 18:05 巴西木 阅读(209) | 评论 (0)编辑 收藏


Wrod和Excel是一样的:菜单 工具->自动更正选项->键入时自动套用格式 选项卡->把 Internet 及网络路径替换为超链接 前的对勾去掉。

posted @ 2009-07-10 11:34 巴西木 阅读(224) | 评论 (0)编辑 收藏

仅列出标题
共33页: 1 2 3 4 5 6 7 8 9 Last