Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
158
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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• 提升自身代码质量及技术• 提升开源产品的质量• 提升团队影响力• 提升自身成就感