Banquet 11
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Banquet 11

on

  • 283 views

 

Statistics

Views

Total Views
283
Views on SlideShare
283
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Banquet 11 Presentation Transcript

  • 1. 开源 乌龙茶2009.12.2
  • 2. 开源项目平台• Sourceforge• Google code• Javaforge• GNU Savannah
  • 3. 许可证• The GNU General Public License(GPL);• The GNU Library(Lesser) General Public License(LGPL);• The BSD License;• The Mozilla Public License(MPL);• Apache Licence
  • 4. GPL• GNU通用公共许可证• http://bergwolf.googlepages.com/gplv3_zh• GPL/LGPL都保障原作者的知识产权,避免有 人利用开源代码复制并开发类似的产品。
  • 5. • GPL的出发点是代码的开源/免费使用和引 用/修改/衍生代码的开源/免费使用,但不 允许修改后和衍生的代码做为闭源的商业 软件发布和销售。
  • 6. BSD协议• 如果再发布的产品中包含源代码,则在源代码 中必须带有原来代码中的BSD协议。• 如果再发布的只是二进制类库/软件,则需要 在类库/软件的文档和版权声明中包含原来代 码中的BSD协议。• 不可以用开源代码的作者/机构名字和原来产 品的名字做市场推广。
  • 7. • BSD 代码鼓励代码共享,但需要尊重代码作 者的著作权。BSD由于允许使用者修改和重 新发布代码,也允许使用或在BSD代码上开 发商业软件发布和销售,因此是对商业集 成很友好的协议。而很多的公司企业在选 用开源产品的时候都首选BSD协议,因为可 以完全控制这些第三方的代码,在必要的 时候可以修改或者二次开发。
  • 8. MPL协议• MPL许可证第3条有专门的一款是关于对源 代码修改进行描述的规定。• MPL许可证不像GPL许可证那样明确表示反 对软件专利• 允许被许可人将经过MPL许可证获得的源代 码同自己其他类型的代码混合得到自己的 软件程序。
  • 9. Apache协议• 如果你修改了代码,需要再被修改的文件中说明。• 在延伸的代码中(修改和有源代码衍生的代码中) 需要带有原来代码中的协议,商标,专利声明和其 他原来作者规定需要包含的说明。• 如果再发布的产品中包含一个Notice文件,则在 Notice文件中需要带有Apache Licence。你可以在 Notice中增加自己的许可,但不可以表现为对 Apache Licence构成更改。
  • 10. • Apache Licence也是对商业应用友好的许可。 使用者也可以在需要的时候修改代码来满 足需要并作为开源或商业产品发布/销售。
  • 11. 开源软件的盈利模式• 多种产品线• 技术服务型• 应用服务托管• 软、硬件一体化• 附属品
  • 12. Linux(BSD协议)Apache(apache协议) mySql(GPL V2)
  • 13. Memcache
  • 14. 使用Cache::Memcached#!/usr/bin/perluse strict;use warnings;use Cache::Memcached;my $key = "foo";my $value = "bar";my $expires = 3600;my $memcached = Cache::Memcached>new({ servers => ["127.0.0.1:11211"], compress_threshold => 10_000});$memcached>add($key, $value, $expires);my $ret = $memcached>get($key);
  • 15. my $add = $memcached>add( 键, 值, 期限 );my $replace = $memcached>replace( 键, 值, 期限 );my $set = $memcached>set( 键, 值, 期限 );
  • 16. memcachedb
  • 17. memcached + bdb
  • 18. 我们
  • 19. • http://code.google.com/p/k-button/
  • 20. 4U• 提升自身代码质量及技术• 提升开源产品的质量• 提升团队影响力• 提升自身成就感