Developing the XWiki software
presented at
Agenda
● About XWiki
●
Governance Practices
●
Development Flow
●
Project Stats
●
Development Practices
● Code Quality
● Te...
About XWiki
● Organize information collaboratively
●
eXtensible wiki & web development platform
●
CRUD API for structured ...
Meritocratic Governance
●
Committership, voting, lazy consensus
●
“5 +1, 2 +0, no -0, no -1, vote passed!”
●
xwiki.org gov...
Development Flow
Code Contributors (last 12 months, xwiki)
212 pull requests created in the last 12 months (90% closed)
Code Contributors (last 12 months, xwiki-contrib)
141 repositories
Commits
9.5 commits/day
Source: www.ohloh.net/p/xwiki
Issue Tracker (JIRA)
Reported:
●
100 reporters
●
3.8 issues/day
●
23% by non-commiters
●
56% bugs
Closed:
●
23 assignees
●...
Mails (last 12 months)
100+ senders, 5k mails (users + devs), 15 mails/day
Source: xwiki.markmail.org/search
Translations
120 contributors, 97896 translations
Source: l10n.xwiki.org
Installations
Source: activeinstalls.xwiki.org
Code Quality
● Full wiki for shared practices on dev.xwiki.org
● Common code style (Checkstyle, Enforcer)
● Continuous cod...
Testing Practices
● JUnit/Mockito
●
Selenium 2 (WebDriver) for UI tests
● Quality build profile (JaCoCo) and job on CI
Roadmap & Release Practices
● Complete Roadmap Process
●
Short releases (every 3-4 weeks)
●
Release Manager + Roster
● Rel...
How to Contribute
●
JIRA/mailing list/Spread
word/etc.
● Pull Requests on GitHub
●
extensions.xwiki.org
●
Create your proj...
Questions?
About me
Marius Dumitru Florea
marius@xwiki.com
github.com/mflorea
Upcoming SlideShare
Loading in …5
×

Developing the XWiki Software @ Open Source Iași 2014

1,449 views

Published on

A few words about the XWiki Open Source project, it's governance, the development flow and practices, and how you can contribute to the project.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,449
On SlideShare
0
From Embeds
0
Number of Embeds
739
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • The XWiki project is governed by its committers. Committers are long standing contributors that watch over the project to ensure it goes in the right direction. All important decisions (regarding people, processes or code) are made with a vote, so in order to become a committer you have to be voted. All votes are equal and any committer can veto, but the vetoer must explain his decision and a debate is started. A vote is not required for minor changes or when the author thinks the rest will agree with them. We call this lazy consensus.
  • We had 25 code contributors in the last 12 months. Most of them are from Xwiki SAS, including myself. We're trying to attract more contributors, but it's not easy for an enterprise software.
    Only 9% of the commits were made by people outside XWiki SAS. But they were important commits!
    We had 205 pull requests created in the last 12 months. It's hard to filter those closed with a merge, but I can tell you that most of them were like this.
  • We host our code on GitHub in two organizations:
    * xwiki: code that is maintained by the “XWiki Development Team” (active committers)
    * xwiki-contrib: code that is maintained by individual developers (or code that is not maintained any more, retired)
    In the last 12 months we had a small decrease in the number of commits (at least that's what Ohloh is showing) but we're still at 9.7 commits per day.
    As you can see on the graph we had a steady number of commits per month since the beginning of the project.
  • We use JIRA for tracking issues and we're closed to 10k issues reported so far on the XWiki Platform.
    In the last 12 months we have closed more issues than there were created.
    100 users reported 3.8 issues per day, 56% of which were bugs. Still, most of the issues were reported by committers.
    23 users have closed 4.25 issues per day, 67% as fixed.
  • We have multiple mailing lists but the main ones are users and devs, on which we had an average of almost 16 mails per day (cumulated) during the last 12 months.
  • We have a wiki dedicated to translations. It runs an XWiki app that allows us to import translation resource files (e.g. Application.properties). Registered users can translate the available keys afterwards. The XWiki API allows us to compute stats such as these.
  • We recently (5.2M2) introduced a component to track the number of XWiki instances. This component sends a ping daily to a configured server. It uses Java's UUID to identify the XWiki instance and the only information sent is the XWiki distribution id and version. As you can see we have around 800 active installs of XWiki 5.2M2+.
  • Developing the XWiki Software @ Open Source Iași 2014

    1. 1. Developing the XWiki software presented at
    2. 2. Agenda ● About XWiki ● Governance Practices ● Development Flow ● Project Stats ● Development Practices ● Code Quality ● Testing ● Roadmap & Release ● How to contribute
    3. 3. About XWiki ● Organize information collaboratively ● eXtensible wiki & web development platform ● CRUD API for structured data stored in wiki pages ● Knowledge Base, Collaborative Intranet, Documentation, Education ● Since 2004 ● LGPL 2.1 Open Source License
    4. 4. Meritocratic Governance ● Committership, voting, lazy consensus ● “5 +1, 2 +0, no -0, no -1, vote passed!” ● xwiki.org governance and advertising Source: dev.xwiki.org/xwiki/bin/view/Community/Governance
    5. 5. Development Flow
    6. 6. Code Contributors (last 12 months, xwiki) 212 pull requests created in the last 12 months (90% closed)
    7. 7. Code Contributors (last 12 months, xwiki-contrib) 141 repositories
    8. 8. Commits 9.5 commits/day Source: www.ohloh.net/p/xwiki
    9. 9. Issue Tracker (JIRA) Reported: ● 100 reporters ● 3.8 issues/day ● 23% by non-commiters ● 56% bugs Closed: ● 23 assignees ● 4 issues/day ● 67% fixed Source: jira.xwiki.org
    10. 10. Mails (last 12 months) 100+ senders, 5k mails (users + devs), 15 mails/day Source: xwiki.markmail.org/search
    11. 11. Translations 120 contributors, 97896 translations Source: l10n.xwiki.org
    12. 12. Installations Source: activeinstalls.xwiki.org
    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. Questions?
    18. 18. About me Marius Dumitru Florea marius@xwiki.com github.com/mflorea

    ×