Apache 之道                      (The Apache Way)                                   姜宁                          ningjiang@ap...
关于我                      • 2006年开始加入Apache相关项目开发                      • Apache CXF committer, PMC member                  ...
议程                      • Apache 软件基金会的介绍                      • Apache之道是什么                      • 如何融入开源软件社区Friday, Octo...
ASF 介绍Friday, October 21,
Apache 是什么?                      • Apache是美国土著的⼀一个部落的名字                      • “ A patchy web server”                     ...
Apache Software Foundation                      • ⼀一个注册在美国的非盈利组织                      • 提供法律和基础设施的支持                      ...
全球化的虚拟组织                      北美                      非洲               32%                      欧洲          1%            ...
组织结构Friday, October 21,
组织结构                      FOUNDATION MEMBERSFriday, October 21,
组织结构                      FOUNDATION MEMBERSFriday, October 21,
组织结构                      FOUNDATION MEMBERS                            BOARDFriday, October 21,
组织结构                         FOUNDATION MEMBERS                               BOARD                        PROJECT MANAGEM...
组织结构                         FOUNDATION MEMBERS                               BOARD                        PROJECT MANAGEM...
Apache projects            •   HTTP Server   •   Felix            •   MyFaces      • STDCXX            •   Abdera        •...
Incubating Project                •     Ace         •   Imperius    •   SIS                •     Aries       •   JSPWiki  ...
Apache Committer                      • 在people.apache.org上拥有账号                      • 拥有相关项目代码库的写权限                      ...
Apache member                      • Member 是由Apache member提名的                      • Member 关心Apache的核心利益                ...
Apache Software                           Foundation                      • 成立于1999年                      • ASF 的前身是 成立于 1...
成立ASF的目的                      • 为开源开发提供基础支持                      • 为捐赠提供⼀一个实体                      • 提供法律上的支持             ...
ASF是如何工作的?                      • 分布式协同方式进行软件开发                      • 提供商业友好的标准许可协议                      • 始终如⼀一的高质量软件   ...
Apache之道Friday, October 21,
Apache 之道                      • 社区胜于代码 (Community over Code)                      • 任人为贤 (Meritocracy)                   ...
开源软件的成功基石                       动力源泉是什么?Friday, October 21,
社区贡献                           用户           开发者                                参与度                      公众              贡献...
为什么是社区                           代码        社区                      开源                      项目                      成功     ...
社区(Community)                      •   The community begins with the developers and                          contributors....
Community over Code                      • 社区是开源软件的立命之本                      • 是Apache之道的集中体现                      • Apach...
Meritocracy                      • Those that prove they can do, get to do.                      • Committer是从项目用户中产生     ...
如何成为committer                      • 在Apache中, 通常是⼀一个已经对项目作                       出贡献的用户                       • 填JIRA,提交P...
如何做出⼀一致的决定?                      • 大多数的决定是通过邮件列表讨论而不                       通投票作出的。                      • 投票规则 voting rule...
Apache 的决议过程                      • Email 讨论                      • Wiki提案                      • 更多的Email讨论              ...
Apache 投票                      • 通常只限于                       • 产品发布                       • 邀请⼀一个新的Committer              ...
开放的沟通                      • 沟通都是线上进行的                      • 邮件列表是⼀一种非常好的沟通方式                      • 大部分的沟通都是有公开存档的      ...
负责监督                      • 安全原则是必须的                      • 保证遵守软件许可                      • 只发布高质量的软件                     ...
Apache 之道是Apache                        社区的文化体现Friday, October 21,
是⼀一种重视协同合作                          的文化Friday, October 21,
开源源于⼀一种软件许                         可形式Friday, October 21,
Apache 不仅仅是⼀一个                         软件许可形式Friday, October 21,
Apache 已经成为⼀一种                      协同合作开发的典范Friday, October 21,
Apache之道是⼀一个活                      生生的文化,这种文                      化已经融入在我们的                      邮件,我们的代码提                ...
Apache 之道                      • 社区胜于代码 (Community over Code)                      • 任人为贤 (Meritocracy)                   ...
融入开源社区Friday, October 21,
如何为开源社区做贡献                      • 使用开源社区软件                      • 提交Bug 报告                      • 完善开源社区文档                ...
提交bug 报告                      • 检索是否有类似的错误                      • 详细描述软件的版本和使用环境                      • 描述错误详细内容          ...
完善开源软件文档                      • 文档是学习开源软件基础                      • 从示例代码入手                      • 代码是最详细的文档               ...
参与邮件列表讨论                      • 提问的艺术                       • 学会使用搜索引擎                       • 不要重复问简单问题                  ...
成为开发者贡献代码                      • 熟悉开源项目的代码                      • 学会自己构建(build)项目                      • 注意运行测试,保证自己修改的代码不...
参考资源                      • http://www.apache.org/foundation/faq.html                      • http://community.apache.org/ ...
谢谢                           ningjiang@apache.orgFriday, October 21,
Upcoming SlideShare
Loading in...5
×

Apache 之 道

3,592

Published on

介绍Apache组织以及如何加入到Apache 项目开发。

Published in: Technology, Business
1 Comment
19 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,592
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
1
Likes
19
Embeds 0
No embeds

No notes for slide

Apache 之 道

  1. 1. Apache 之道 (The Apache Way) 姜宁 ningjiang@apache.orgFriday, October 21,
  2. 2. 关于我 • 2006年开始加入Apache相关项目开发 • Apache CXF committer, PMC member • Apache Camel committer, PMC member • Apache ActiveMQ committer • Apache ServiceMix committer • Apache Member • 受雇于Fusesource从事Fuse开源产品开发Friday, October 21,
  3. 3. 议程 • Apache 软件基金会的介绍 • Apache之道是什么 • 如何融入开源软件社区Friday, October 21,
  4. 4. ASF 介绍Friday, October 21,
  5. 5. Apache 是什么? • Apache是美国土著的⼀一个部落的名字 • “ A patchy web server” • Apache是⼀一个商标 • 今天给大家介绍的是Apache 软件基金会 (ASF, Apache Software Foundation)Friday, October 21,
  6. 6. Apache Software Foundation • ⼀一个注册在美国的非盈利组织 • 提供法律和基础设施的支持 • 完全的自愿组织,虚拟的全球化组织 • 有2700+ committers, 370+ member • 94+ 开源项目, 60+ 正在孵化的项目 • 组织前身是 1996年成立的 Apache Group • ASF成立于 1999年Friday, October 21,
  7. 7. 全球化的虚拟组织 北美 非洲 32% 欧洲 1% 南美 亚洲 大洋洲 7% 55% 4% 1%Friday, October 21,
  8. 8. 组织结构Friday, October 21,
  9. 9. 组织结构 FOUNDATION MEMBERSFriday, October 21,
  10. 10. 组织结构 FOUNDATION MEMBERSFriday, October 21,
  11. 11. 组织结构 FOUNDATION MEMBERS BOARDFriday, October 21,
  12. 12. 组织结构 FOUNDATION MEMBERS BOARD PROJECT MANAGEMENT OFFICERS PROJECT MANAGEMENT PROJECT MANAGEMENT COMMITTEES COMMITTEES COMMITTEES COMMITTEES (PMC) (PMC) (PMC)Friday, October 21,
  13. 13. 组织结构 FOUNDATION MEMBERS BOARD PROJECT MANAGEMENT OFFICERS PROJECT MANAGEMENT PROJECT MANAGEMENT COMMITTEES COMMITTEES COMMITTEES COMMITTEES (PMC) (PMC) (PMC) COMMITTERSFriday, October 21,
  14. 14. Apache projects • HTTP Server • Felix • MyFaces • STDCXX • Abdera • Forrest • ODE • Struts • ActiveMQ • Geronimo • OFBiz • Subversion • Ant • Gump • OpenEJB • Synapse • APR • Hadoop • OpenJPA • Tapestry • Archiva • Harmony • OpenWebBeans TCL • • Buildr • HttpComponents • PDFBox • Tiles • Camel • iBATIS • Perl • Tomcat • Cayenne • Incubator • Pivot • Turbine • Click • Jackrabbit • POI • Tuscany • Cocoon • Jakarta • Portals • Velocity • Commons • James • Qpid • Wicket • Continuum • Labs • Roller • Web Services • CouchDB • Lenya • Santuario • Xalan • CXF • Logging • ServiceMix • Xerces • DB • Lucene • Shindig • XML • Directory • Maven • Sling • XMLBeans • Excalibur • Mina • SpamAssassin • XML Graphics • AtticFriday, October 21,
  15. 15. Incubating Project • Ace • Imperius • SIS • Aries • JSPWiki • SocialSite • Bluesky • Kato • Stonehenge • Cassandra • Libcloud • Subversion • Chemistry • Log4php • Tashi • Clerezza • Lucene Connector • Thrift • Droids Framework • TrafficServer • Empire-db • Olio • UIMA • Etch • OODT • VCL • ESME • PhotArk • VXQuery • Hama • RAT • Wink • HISE • River • Wookie • Shiro • WSRP4JFriday, October 21,
  16. 16. Apache Committer • 在people.apache.org上拥有账号 • 拥有相关项目代码库的写权限 • http://people.apache.org/committer- index.html • Apache不为Committer提供工资 • Committer由项目管理委员会推选出来Friday, October 21,
  17. 17. Apache member • Member 是由Apache member提名的 • Member 关心Apache的核心利益 • 从法律上讲,Member 是Apache的拥有者 • 有Board的选举权和被选举权 • 为其他Committer提名的权力 • 可以为新项目提交提案Friday, October 21,
  18. 18. Apache Software Foundation • 成立于1999年 • ASF 的前身是 成立于 1995年的Apache group • 为Apache社区的项目提供支持Friday, October 21,
  19. 19. 成立ASF的目的 • 为开源开发提供基础支持 • 为捐赠提供⼀一个实体 • 提供法律上的支持 • 保护 Apache这个商标Friday, October 21,
  20. 20. ASF是如何工作的? • 分布式协同方式进行软件开发 • 提供商业友好的标准许可协议 • 始终如⼀一的高质量软件 • 互重,真诚,以技术为基础的沟通 • 致力于标准的实现 • 时刻重视产品安全Friday, October 21,
  21. 21. Apache之道Friday, October 21,
  22. 22. Apache 之道 • 社区胜于代码 (Community over Code) • 任人为贤 (Meritocracy) • 共识决策(Consensus) • 透明公开 (Transparency) • 非隶属关系 (Non-Affiliation) • 负责监督(Responsible Oversight)Friday, October 21,
  23. 23. 开源软件的成功基石 动力源泉是什么?Friday, October 21,
  24. 24. 社区贡献 用户 开发者 参与度 公众 贡献者Friday, October 21,
  25. 25. 为什么是社区 代码 社区 开源 项目 成功 因素 时间Friday, October 21,
  26. 26. 社区(Community) • The community begins with the developers and contributors. The larger and more open the developer community, the greater chance for sustained activity and growth.Friday, October 21,
  27. 27. Community over Code • 社区是开源软件的立命之本 • 是Apache之道的集中体现 • Apache要求其项目的社区多元化 • 以个人为实体参加Apache的开发 • Committer和Member相互尊重 • 所有的投票的权重都是⼀一样的Friday, October 21,
  28. 28. Meritocracy • Those that prove they can do, get to do. • Committer是从项目用户中产生 • Committer拥有代码的修改权利 • Committer是以个人方式邀请参加的,通 常是没有终止期限的 • PMC Member 是在Committer为社区做出 贡献之后被题名,投票Friday, October 21,
  29. 29. 如何成为committer • 在Apache中, 通常是⼀一个已经对项目作 出贡献的用户 • 填JIRA,提交Patch,在邮件列表中发言 • 项目中的committer 会向你发出邀请 • ASF平均⼀一个月会有新增15个Committer 但是大部分的Committer都是以新项目成 员方式进入的 • 对于大部分项目来, ⼀一年只会增加⼀一两 个CommitterFriday, October 21,
  30. 30. 如何做出⼀一致的决定? • 大多数的决定是通过邮件列表讨论而不 通投票作出的。 • 投票规则 voting rule • 赞成 +1, 弃权 0, 反对 -1 • 对于产品发布, 需要3票通过, 并且没 有反对票 • 反对票需要提出相应的改进建议Friday, October 21,
  31. 31. Apache 的决议过程 • Email 讨论 • Wiki提案 • 更多的Email讨论 • 如果必要就进行投票 • 可以根据技术需要投反对票 • 注意是要通过Email来进行Friday, October 21,
  32. 32. Apache 投票 • 通常只限于 • 产品发布 • 邀请⼀一个新的Committer • 大部分的决定不是通过投票来诉诸的Friday, October 21,
  33. 33. 开放的沟通 • 沟通都是线上进行的 • 邮件列表是⼀一种非常好的沟通方式 • 大部分的沟通都是有公开存档的 • 大部分邮件列表是向所有人开放的Friday, October 21,
  34. 34. 负责监督 • 安全原则是必须的 • 保证遵守软件许可 • 只发布高质量的软件 • 没有滥用Apache 商标或者社区 • ⼀一旦发现问题,大家都有责任指出问题Friday, October 21,
  35. 35. Apache 之道是Apache 社区的文化体现Friday, October 21,
  36. 36. 是⼀一种重视协同合作 的文化Friday, October 21,
  37. 37. 开源源于⼀一种软件许 可形式Friday, October 21,
  38. 38. Apache 不仅仅是⼀一个 软件许可形式Friday, October 21,
  39. 39. Apache 已经成为⼀一种 协同合作开发的典范Friday, October 21,
  40. 40. Apache之道是⼀一个活 生生的文化,这种文 化已经融入在我们的 邮件,我们的代码提 交, 和我们的日常行 为中。Friday, October 21,
  41. 41. Apache 之道 • 社区胜于代码 (Community over Code) • 任人为贤 (Meritocracy) • 共识决策(Consensus) • 透明公开 (Transparency) • 非隶属关系 (Non-Affiliation) • 负责监督(Responsible Oversight)Friday, October 21,
  42. 42. 融入开源社区Friday, October 21,
  43. 43. 如何为开源社区做贡献 • 使用开源社区软件 • 提交Bug 报告 • 完善开源社区文档 • 参与邮件列表讨论 • 成为开发者贡献代码 • 参与开源社区建设Friday, October 21,
  44. 44. 提交bug 报告 • 检索是否有类似的错误 • 详细描述软件的版本和使用环境 • 描述错误详细内容 • 给出测试用例 • 最好是能提供相应的补丁 • 登录到JIRA 或者其他的Bug管理工具提交 报告或者补丁Friday, October 21,
  45. 45. 完善开源软件文档 • 文档是学习开源软件基础 • 从示例代码入手 • 代码是最详细的文档 • 在抱怨开源软件文档不全的时候有没有 想到自己动手帮助完善 • 学会使用邮件列表以及wikiFriday, October 21,
  46. 46. 参与邮件列表讨论 • 提问的艺术 • 学会使用搜索引擎 • 不要重复问简单问题 • 互重,真诚,以技术为基础的沟通 • 从提问题到帮助别人解决问题Friday, October 21,
  47. 47. 成为开发者贡献代码 • 熟悉开源项目的代码 • 学会自己构建(build)项目 • 注意运行测试,保证自己修改的代码不 break build • 多学,多问,多思考 • 参与邮件列表的讨论,帮助软件用户解 决问题Friday, October 21,
  48. 48. 参考资源 • http://www.apache.org/foundation/faq.html • http://community.apache.org/ • http://www.slideshare.net/jaaronfarr/the- apache-wayFriday, October 21,
  49. 49. 谢谢 ningjiang@apache.orgFriday, October 21,

×