• 1. Blog : http://shanyou.cnblogs.com Name: 张善友(ASP.NET MVP) .net 开源项目
  • 2. 议题知识产权和开源协议 主要的开源社区 开源的.net framework项目 开源的AOP项目 开源的工具项目 开源的IOC项目 开源的规则引擎项目 开源的集成开发环境项目 开源的CMS/Portal/Blog项目 开源的持久层框架项目 开源的企业应用框架 开源的Wiki项目 开源的论坛系统
  • 3. 知识产权和开源协议从自由到开源 知识产权(copyright)与互惠(copyleft) 开源许可证和非开源许可证 开源许可证(GPL/LGPL/BSD等)共计58种 协议简单说明GPLGPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。LGPLLGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码 。
  • 4. 知识产权和开源协议协议简单说明BSDBSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布 。BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。Apache Licence 2.0 Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件) 。
  • 5. 知识产权和开源协议非开源许可证(不符合OSD规定)协议简单说明Microsoft共享资源Microsoft共享资源许可证提供了对代码的访问权,但是要求你对代码的所有修改返回给Microsoft。Microsoft拥有你所做修改和改进的版权。Sun社区资源许可证可以捐献代码来改进产品或技术,但是所有的工作必须遵守Sun定义的一套特别的标准。二次开发也要向Sun Microsystems缴纳特许使用费。
  • 6. 主要的开源社区开源社区名称网址tigrishttp://www.tigris.org.Net开源社区http://www.gotdotnet.com/sourceforgehttp://sourceforge.net/开源大本营http://gforge.osdn.net.cn/Apache基金会http://apache.org/
  • 7. 开源的.net framework项目.net Framework名称网址内容简介开源协议Monohttp://www.mono-project.com/Mono 的目的是要建立一个建立在 Microsoft .NET 应用程序框架与服务上的开放源码产物;它包含了 C# compiler, Common Language Infrastructure (CLI 或有时称为 CLR) 的 runtime 层还有一组 class 函式库。这个 runtime 的产物乃为 ADO.NET 与 ASP.NET 的对应,它可以被嵌入在应用程序中。Mono 平台的出现,已经宣告 .NET 正式进入跨平台的时代。Mono项目的支持公司是Novell。因为Mono的支持者是Novell。Novell和Microsoft一样是操作系统的传统厂商。我们借助Novell和Microsoft,我们的应用就可以跨平台和跨语言。GPLDotGNUhttp://www.dotgnu.org/DotGNU的开发以GNU开发者网站“Savannah”为中心进行,开发非常的缓慢,现在只是0.1版本GPLIKVM.NEThttp://www.ikvm.net/IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序LGPL
  • 8. 开源的AOP项目AOP框架名称网址内容简介开源协议Aspect#http://www.castleproject.org/index.php/AspectSharpAspect# 是一款基于.net的免费的Open Souce的AOP框架。Aspect# 使用动态代理和xml配置技术来定义代理等。2005年7月开始,Aspect# 是Castle 的一部分ApacheAOP.NEThttp://sourceforge.net/projects/aopnet/ AOP.NET 是另一款.NET的AOP框架. 它和别的框架不同的是在运行阶段进行组织方面。这样设计是为了提高系统简单性, 扩展性和可靠性。 LGPLEncasehttp://theagiledeveloper.com/articles/Encase.aspxEncase 采用C#编写的.net架构下的AOP框架。Encase 框架便于在运行状态维护方面,这样开发人员很容易的进行aspect编程BSD
  • 9. 开源的AOP项目AOP框架名称网址内容简介开源协议aspectdnghttp://aspectdng.tigris.org/AspectDNG目前的版本为0.9,仍然处于beta版的阶段。它的实现技术是基于rail的静态织入。Rail属于IL级别下的代码织入,它自定义的一套xml格式的ILML语言,能够将原有的程序集拆散成ILML格式,以便于对静态程序集进行修改和扩展,从而达到静态织入的目的。因为AspectDNG是属于IL级别下的代码织入,因此在.Net平台下,并不受具体的编程语言限制。GPLPostSharphttp://www.postsharp.orgPostSharp 是一个开源的NET 框架下的AOP框架。只能运行在.NET Framework 2.0MPL 1.1
  • 10. 开源的工具项目工具类名称网址内容简介开源协议BugTracker.NEThttp://www.ifdefined.com/bugtrackernet.htmlBugTracker.NET是用ASP.NET 和C#开发的一个基于Web的错误跟踪器。这个版本需要SQL Server 或MSDE。易于安装和使用。有一定程度的可配置性。GPLBUgNethttp://sourceforge.net/projects/bugnetBUgNet是一款Open Source的C#编写的基于Web的Bug跟踪系统GPLBuglog V2http://buglogv2.sourceforge.net/Buglog V2是一个错误日志和跟踪解决方案,支持文件附件和注释历史GPLNAnthttp://nant.sourceforge.net/NAnt是一款open source的.net平台下的编译软件,是Apache ant项目的子项目GPL
  • 11. 开源的工具项目工具类名称网址内容简介开源协议CruiseControl.NEThttp://sourceforge.net/projects/ccnet/CruiseControl.NET是为.NET 平台提供的一个自动连续集成服务器。它是Java项目CruiseControl 的C#移植ApacheDraco.NEThttp://draconet.sourceforge.net/Draco.NET是一个Windows服务应用程序,用于简化持续的整合。Draco.NET监控你的源代码库,当检测到变化时,自动重建你的项目并email你重建的结果和最近发生变化的列表BSDMSBuild Community Taskshttp://msbuildtasks.tigris.org/Msbuildtasks是MsBild的一个相关开源项目。借助这个项目对于使用VSTS非常有用BSD
  • 12. 开源的工具项目工具类名称网址内容简介开源协议MbUnithttp://mbunit.tigris.org/MbUnit是一套支持.Net的改进单元测试框架,目标是使最终用户拥有高度一致的test fixtures,使开发人员可以创建新的可定制化的fixtures而无需更改核心部分。MbUnit基于一种C#的图形库QuickGraph。 与其他单元测试工具(NUnit和csUnit)所不同的是,MbUnit的诞生来自这样一个简单的设想:一个新的测试流程可被整合到已有的框架下。MbUnit采用了简单测试模式,提供一些新的流程类型,比如TypeFixture可使测试针对一个特定的类型实例。GPLNUnithttp://www.nunit.orgNUnit是一个为Net准备的自动化单元测试框架,它的作用就是帮助你方便的完成单元测试 工作,同鼎鼎有名的JUnit一样,都是xUnit ... ApacheRhino Mocks 2http://www.ayende.com/projects/rhino-mocks.aspxRhino Mocks 2是一款在.Net平台下的Mock工具,在了解到Rhino Mocks 2之前您可能也接触了一些其他的Mock工具, 比如EasyMock,JMock,NMock, NMock2,但是用了Rhino Mocks 2之后相信你一定会选择Rhino Mocks 2BSD
  • 13. 开源的工具项目工具类名称网址内容简介开源协议NCoverhttp://ncover.sourceforge.net/ http://ncover.org/site/NCover-这个工具可以报告你的自动测试程序覆盖了多少你的源程序。工具源代码优先于用于建立测试覆盖的单元测试代码。Nant 集成工具用于和增量集成建造工具一起使用GPLNProfilehttp://chimpswithkeyboards.com/projects/nprofiler/NProfile是一款Open Source的.net 应用运行分析器GPLNProfhttp://nprof.sourceforge.net/Site/SiteHomeNews.htmlNProf是一款Open source 的。Net运行分析器,同时它也提供了运行分析的APIGPL
  • 14. 开源的工具项目工具类名称网址内容简介开源协议Log4nethttp://logging.apache.org/log4net/很多开发者都想要一个非常强大的程序日志管理库,能够了解用户对应用程序的使用情况。当程序出现问题时,可以通过分析日志来了解问题之所在。 过去我们总是用一种很简单的方式来处理日志,即:使用一个日志文件,当程序有问题时就要求用户提供这个文件。但常常日志文件不是没有,就是已经被删除。 Log4net 是著名的 log4j for Java 项目的一部分。它是由 www.neoworks.com 的一个团队开发出来,支持多种方式的日志。如 ADO (MS Sql Server 等),File (文件), Console (控制台),EventLog (系统日志),SMTP(邮件方式)...ApacheCSharp Dot Net Loggerhttp://sourceforge.net/projects/cslogger/CSharp Dot Net Logger是一款开源的用C#写的日志工具,它扩展了.net机制本身的日志功能Apache
  • 15. 开源的工具项目工具类名称网址内容简介开源协议NLoghttp://www.nlog-project.org/NLog是一款免费的开源的Log工具,它类似log4net,易于使用,扩展性很强BSDWixhttp://sourceforge.net/projects/wix/这是使用xml配置来实现安装过程的一个开源项目Common Public LicenseUser Story.NEThttp://userstorynet.sourceforge.net/User Story.NET是一个Extreme Programming Projects跟踪器和管理器。它跟踪一个项目中的User Story 或User Stories 。它目前在一个Microsoft SQL服务器上用ASP.NET / C# 编写GPL
  • 16. 开源的IOC项目IOC容器名称网址内容简介开源协议Castlehttp://www.castleproject.org/index.php/Main_PageCastle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架、AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服务ApacheSpring.nethttp://www.springframework.net/Spring.net是Java Spring 框架到.net平台上一个移植版本Apache
  • 17. 开源的IOC项目IOC容器名称网址内容简介开源协议StructureMaphttp://structuremap.sourceforge.net/StructureMap是一个为 .NET开发提供的轻型反向控制(IoC)容器,用C#编写。StructureMap 通过减少优秀设计技术的机制成本来增加面向对象的 .NET系统的体系结构的质量ApacheObjectBuilderhttp://www.gotdotnet.com/codegallery/codegallery.aspx?id=22f72167-af95-44ce-a6ca-f2eafbf2653c2.0的Enterprise Library - November 2006 CTP 和Composite User Interface (UI) Application Block都是依赖于一个核心的组件ObjectBuilder。它同时实现了两个重要的设计模式Service Locator 模式和Dependency Injection 模式,是一个IOC容器。ObjectBuilder可以作为一个IOC框架开发Shared Source License
  • 18. 开源的规则引擎项目规则引擎名称网址内容简介开源协议NxBREhttp://nxbre.org/NxBRE是为.NET 平台提供的一个轻型业务规则引擎(基于aka Rule 引擎)LGPLSREhttp://sourceforge.net/projects/sdsre/SRE是一款轻量级的.net下的规则引擎,说它简单是因为可以用很简单易懂的xml规则语言来描述规则,但是这种简单并不是说它不能处理复杂的商业逻辑LGPL
  • 19. 开源的集成开发环境项目集成开发环境名称网址内容简介开源协议SharpDevelophttp://www.icsharpcode.net/opensource/sd/SharpDevelop 是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开了全部源代码,因此这个工具本身也是学习C#以及软件开发规范的一个很好材料。 SharpDevelop 的最新版本需要Microsoft .NET Framework 2.0 SDK 的支持才能运行,这个轻型的开发工具支持多种程序语言,包括C#以及VB.NET,同时还支持多种语言界面,不过现在还不支持中文界面,当然,由于它公开了全部源代码,因此翻译其界面并不是很困难的工作 。 这个编辑器的界面风格类似于Office XP以及VS.NET,这个编辑器可以支持书写C#, ASP.NET, ADO.NET, XML, HTML 等多种代码, 支持基于项目或者是文件的开发,可以对C#, HTML, ASP, ASP.NET, VBScript, VB.NET, XML 提供彩色语法显示支持,同时还可以把彩色的代码输出为HTML格式文件。你可以在代码中做标记,支持丰富的代码模版以及外接插件。GPL
  • 20. 开源的集成开发环境项目集成开发环境名称网址内容简介开源协议MonoDevelophttp://www.monodevelop.orgMonoDevelop 是SharpDevelop的一个移植版本, 是一个符合GPL 标准的面向 Gtk# 和 Mono 的 .NET 集成开发环境。支持的功能:智能感知、debugger、解决方案资源管理器 GPLC# Studiohttp://csharp-studio.sourceforge.net/C# Studio是一款开源的可以开发C#,MONO,GTK#的简单集成开发环境MIT License
  • 21. 开源的CMS/Portal/Blog项目内容管理系统/门户系统/博客名称网址内容简介开源协议Kodai CMShttp://www.gotdotnet.com/workspaces/workspace.aspx?id=070f30c3-6089-4a75-b84c-fac654a7ec08Kodai CMS是一款开源的.net平台下的内容管理系统,功能齐全GPLCuyahogahttp://www.cuyahoga-project.org/Cuyahoga主要是一个类似Blog的Web站点管理工具,并且允许用户开发并向里面加入自己的模型(module),关于这些这里就不再叙述,通过运行Cuyahoga并且查看它里面的文档信息大家可以获得更详细的信息。关于技术方面呢,它主要是用到了Nhiernate和dotLucene两个框架BSD
  • 22. 开源的CMS/Portal/Blog项目内容管理系统/门户系统/博客名称网址内容简介开源协议Umbracohttp://umbraco.org/Umbraco是一款在.net平台下的开源的内容管理系统,该系统效率高,扩展性,用户友好性都比较好GPLndCMShttp://ndcms-net.sourceforge.net/ndCMS 是一个用ASP.net (C#)生成的内容管理系统。包括了WYSIWYG 编辑器,用户管理器, 一个文件管理器和内建的HTTP压缩GPLRainbowhttp://www.rainbowportal.net/Rainbow项目是一款使用C#和ASP.net开发的开源的内容管理系统GPL
  • 23. 开源的CMS/Portal/Blog项目内容管理系统/门户系统/博客名称网址内容简介开源协议Personal .net Portalhttp://www.zaczek.net/Portal/personaldotnetportal.tab.aspxPersonal .net Portal 是使用.net开发的Open Source的一款个人主页系统。该系统的页面是由tab页和模块组成GPLMedia Portalhttp://www.team-mediaportal.com/Media Portal提供了视频、DVD、音频播放器和电视功能。不要担心软件设置的问题,它提供了一个方便的向导程序帮助你进行各项设置,比如指定多媒体文件的存放位置、设置TV或收音机的频道等。Media Portal支持Medion、Hauppauge、Pinnacle、Twinhan、Typhoon、ATI和Terratec的多媒体卡。在把电视节目录制到硬盘时,你可以自行选择适当的编码方式。你还可以利用插件来扩充Media Portal的功能,比如为它增加e-mail客户端的功能。该程序需要运行于Windows XP Service Pack 1或2之上,还需要DirectX 9.0c以上版本和Microsoft .Net Framework 1.1的支持The Artistict License
  • 24. 开源的CMS/Portal/Blog项目内容管理系统/门户系统/博客名称网址内容简介开源协议My Community Portalhttp://sourceforge.net/projects/mycommunity/My Community Portal项目提供了几乎所有门户必须的服务,譬如论坛,群组,聊天室,web email,搜索引擎,internet 目录以及用户自定义主页,日期服务,mp3和文件共享服务等 GPLdasBloghttp://www.dasblog.net/dasBlog是目前.net平台下最著名的两个开源的blogger引擎之一,它在一般blogger基础上增加了mail功能GPL.Texthttp://www.gotdotnet.com/workspaces/workspace.aspx?id=e99fccb3-1a8c-42b5-90ee-348f6b77c407.Text目前是.net平台下最流行的开源的blogger系统,它功能强大,架构清晰,易于扩展和二次开发,目前国内主要的blogger运营的都是在.Text基础上汉化加强的GPL
  • 25. 开源的持久层框架项目持久层框架名称网址内容简介开源协议NHibernatehttp://www.hibernate.org/343.htmlNHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。 NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,远胜于你不得不写SQL去从数据库存取对象。你的代码仅仅和对象关联,NHibernat 自动产生SQL语句,并确保对象提交到正确的表和字段中去LGPLIbatis.nethttp://ibatis.apache.org/使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以SQL开发的工作量和数据库移植性上的让步,为系统 设计提供了更大的自由空间。作为“全自动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。IBatis同时有支持.net和Java两个平台。Apache
  • 26. 开源的持久层框架项目持久层框架名称网址内容简介开源协议Advanced Data Providerhttp://advanced-ado.sourceforge.net/Advanced Data Provider这是为ADO.NET提供的高级数据提供者(ADP) 。可以让应用程序按数据库透明的方式来访问不同的 ADO.NET 数据提供者。ADP也可以同Linux上的Mono 一起运行LGPLGentle.NEThttp://www.mertner.com/confluence/display/Gentle/HomeGentle.NET 是一个关系数据库独立的对象持久层框架。它的功能有自动SQL生成和对象配置,一个可以创建定制查询的SQL工厂,DataView 构造助手,优秀的性能和相当完整的文档LGPLOBJ.nethttp://domainobjects.sourceforge.net/OBJ.net是OJB在.net平台下的实现。ObJectRelationalBridge-OJB是基于XML的对象/关系映射工具.OJB提供一些高级的特性如:对象缓存,延迟加载,利用事务隔离级别的结构进行分布式管理,支持悲观与乐观锁.OJB还提供了一个灵活的配置与插件机制以便可以扩展加入自己的功能.LGPL
  • 27. 开源的企业应用框架企业应用框架名称网址内容简介开源协议MonoRailhttp://www.castleproject.org/index.php/MonoRailMonoRail是一个.NET的MVC web开发框架, 原名Castle On Rails, 是CastleProject的一个子项目. 作者hammett在使用过Ruby On Rails后, 觉得非常棒, 他希望在享受ror的开发模式的同时能使用大量现有的资源, 于是就用.NET写出了一个Castle On Rails. 后来ror那边有人抗议说, 把项目名字叫做xxx On Rails是侵权, On Rails不只是它字面上"快捷"的意思, 而是代表了他们的软件开发哲学, 是专有名词... 于是hammett把项目改名成MonoRail了Apache
  • 28. 开源的企业应用框架企业应用框架名称网址内容简介Agilehttp://www.agilelabs.cn/ http://gforge.osdn.net.cn/projects/afw/Agile Framework(AF框架)是敏捷实验室始创的一个为了帮助快速搭建.Net 2.0企业级应用程序的基础性开发架构。AF的设计目标不是要成为普通的.Net类库,而是成为一个跨越客户端和服务器端开发以及整合两者交互的一个整体应用框架。它充分利用了IoC、AOP等技术,允许开发人员仅仅使用声明标签(Attribute)的方式就可以简单的完成远程服务、分布式事件、离线处理和客户端缓存等高级RIA功能。同时为远程方法和本地方法创造了完全透明一致的调用模型,将服务器端的轻量级容器和富客户端应用程序完美的融为一体。采用AF进行软件开发可以屏蔽许多开发分布式应用系统的技术细节,减少企业应用软件开发过程中因为技术原因所带来的阻力,让开发人员可以将更多的精力腾出来解决业务问题。从而简化了企业分布式应用开发的复杂度,提高开发效率和质量,降低企业应用软件的开发成本
  • 29. 开源的Wiki项目Wiki引擎名称网址内容简介开源协议FlexWikihttp://www.gotdotnet.com/Community/Workspaces/Workspace.aspx?id=6bdff8a9-294f-442e-a81f-3b2b664bc344FlexWiki:微软的开源产品,开发语言 为C#,基于CPL(Common Public License)协议Shared Source License Perspectivehttp://www.high-beyond.com/perspective.aspx?action=view&page=perspective:Welcome传统的wiki应用系统通常需要专业的人来进行维护,Perspective却不同。Perspective提供了许多功能,使得wiki操作更加方便简单,这样更多的人可以参与到wiki的建设中。GPL
  • 30. 开源的论坛系统论坛系统名称网址内容简介开源协议YetAnotherForumhttp://www.yetanotherforum.net/Yet Another Forum.net是一款open source的电子公告牌系统,它使用Asp.net开发,使用 SqlServer作为后台数据库,扩展性非常好,易于二次开发GPLLiteforumhttp://www.gotdotnet.com/workspaces/workspace.aspx?id=a550e288-4341-4d18-a1bd-f6a7f3cbc760Liteforum是一款Open source的用Asp。Net开发的论坛系统,该论坛功能不是很多,比较适合小型论坛BSD
  • 31. 开源的论坛系统论坛系统名称网址内容简介开源协议SharePoint Forums Web Parthttp://www.codeplex.com/Project/NewsFeeds.aspx?ProjectName=SPFORUMSSharePoint的一个WebPart
  • 32. (本页无文本内容)