Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Developing the XWiki software

1,702 views

Published on

This presentation explains how the XWiki software is developed on all aspects: governance, build process, release process, communication tools, code quality, xwiki.org vs xwiki.com, etc.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Developing the XWiki software

  1. 1. Developing the XWiki software presented at
  2. 2. Agenda ● Project Health ● Governance Practices ● Development Flow ● Code Quality ● Testing Practices ● Roadmap & Release Practices ● Next Steps
  3. 3. Project Health
  4. 4. JIRA Issues Reported: 100 reporters ● 3.8 issues/day ● 23% by non-commiters ● 56% bugs ● Closed: 23 assignees ● 4.25 issues/day ● 67% fixed ● Source: jira.xwiki.org
  5. 5. Commits 9.7 commits/day Source: www.ohloh.net/p/xwiki
  6. 6. Code Contributors (last 12 months) 8 (33%) outside XWiki SAS (doing 9% of the commits) 205 pull requests created in the last 12 months
  7. 7. Translations 120 contributors, 97896 translations Source: l10n.xwiki.org
  8. 8. Mails (last 12 months) 100+ senders, 5677 mails (users + devs), 15.5 mails/day Source: xwiki.markmail.org/search
  9. 9. Installations 1. ^ that have ever sent us a ping (XWiki 5.2M2+) 2. ^ that have sent us a ping in the past 2 days (XWiki 5.2M2+) Source: activeinstalls.xwiki.org
  10. 10. Practices
  11. 11. Meritocratic Governance ● ● ● Committership, voting, lazy consensus XWiki.org vs. XWiki SAS xwiki.org governance and advertising Source: dev.xwiki.org/xwiki/bin/view/Community/Governance
  12. 12. Development Flow
  13. 13. Code Quality ● Full wiki for shared practices on dev.xwiki.org ● Common code style (Checkstyle, Enforcer) ● Continuous code reviews ● Backward compatibility (CLIRR) and deprecation strategy ● XWiki special days ● sonar.xwiki.org
  14. 14. Testing Practices ● JUnit/Mockito ● Selenium 2 (WebDriver) for UI tests ● Quality build profile (JaCoCo) and job on CI
  15. 15. Roadmap & Release Practices ● Complete Roadmap Process ● Short releases (every 3-4 weeks) ● Release Manager + Roster ● Release application on xwiki.org ● Documentation fields in JIRA
  16. 16. How to Contribute ● JIRA/mailing list/Spread word/etc. ● Pull Requests on GitHub ● extensions.xwiki.org ● Create your project on github.com/xwiki-contrib ● And get a JIRA, wiki and Maven repo
  17. 17. Next Steps ● XWiki Foundation ● Bounties ● More tech marketing needed ● Book, articles, conferences ● Continue improving xwiki.org ● Find ways to get even more committers!
  18. 18. Questions?
  19. 19. About me Marius Dumitru Florea marius@xwiki.com github.com/mflorea

×