SlideShare une entreprise Scribd logo
1  sur  25
XWiki's Development Process
Eduard Moraru
2016
About XWiki
●
Web platform on top of
the wiki paradigm
●
Structured data, scripting,
applications
●
Java platform, polyglot
applications (JSR223)
●
XWiki Enterprise – the
product
●
LGPL license, since 2004
●
www.xwiki.org
XWiki Features
● Modular and highly extensible
●
Version control, attachments, user and rights
management, subwiki and subpages,
comments, wiki syntax and WYSIWYG editor,
macros, notifications, skins, search,
import/export, apps, etc.
● Use cases:
● Knowledge sharing and collaboration
● Intranets, knowledge base, public websites,
groupware, education, etc.
XWiki Enterprise
Community
● Users, Contributors and Core committers
●
Core and Contrib
●
Meritocracy
●
Governed by committers
● New committers voted based on contribution
● Lazy consensus
●
Important changes go through voting
●
+1, +/-0, -1
● Core committers have veto (-1) rights
Roadmap and Releases
● Timeboxing vs Feature-driven
●
Open roadmap for each minor release
●
1 major release per year
●
Minor releases (2.5 months)
● Dev releases (1-3 weeks)
● Bugfix releases
●
Support 3 versions (Dev, Stable & LTS)
● Release Manager Roster (taking turns)
●
Release Process on xwiki.org
Process: Community
Process: Mails
Process: Chat
Process: Issues
Process: Code
Process: Continuous Integration
Process: Quality
Process: Builds
Process: Product
Process: Websites
Process – Recap
●
Communication: Mailing Lists + IRC
● Issue Tracking: Jira
● Source Code Management: GitHub
● Continuous Integration: Jenkins
●
Build Repository: Nexus
● Documentation: (*.)xwiki.org
● Localization: l10n.xwiki.org
●
Extensions Repo: extensions.xwiki.org
● Code Quality: SonarQube
Dev Tools
● Source Control: Git
●
IDE: Eclipse, IntelliJ
●
Build Management: Maven 3
● Quality Control:
● Code style: Checkstyle
● Testing: JUnit/Mockito, Jacoco, Selenium 2
● Backwards compatibility: Revapi
Dev Principles
● High focus on quality
● dev.xwiki.org dedicated to dev documentation and
best practices
●
Enforcing coding style and min. test coverage
●
XWiki special days (Bug Fixing Days, etc.)
●
High focus on backwards compatibility
● Deprecation strategy
● Legacy modules
Statistics (1/2)
● 19 active committers
● 194 code contributors
●
60K commits
●
950K lines of code (Java)
●
67K mails
● 1K current subscribers
●
27.5K issues
●
(13% open; 53% bugs)
Statistics (2/2)
● 305 product releases
● (1 release every 15 days)
●
2.3M downloads
●
2200+ active instances
●
870+ extensions
● (200+ applications)
●
37 supported languages
● 9/12 years @ Google Summer of Code
Ways to Contribute
●
Pull Requests
●
github.com/xwiki
●
github.com/xwiki-contrib
● Translations
●
l10n.xwiki.org
● Documentation
●
xwiki.org
● New extensions
●
extensions.xwiki.org
Earning a living
● Multiple companies build their businesses on
top of XWiki
● XWiki.com is the main company sponsoring the
development of the project (since 2004)
● Professional Support
●
Consulting & Training
● Custom Development & Solutions
●
Hosting
●
Sustainable alternative to proprietary
Questions?
Thank you!
Eduard Moraru
Enygma2002

Contenu connexe

Tendances

Dealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetupDealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetupViktor Sadovnikov
 
BiQ: A New Revolution of SEO Suite
BiQ: A New Revolution of SEO SuiteBiQ: A New Revolution of SEO Suite
BiQ: A New Revolution of SEO SuiteBiQ
 
Lessons from Contributing to WebKit and Blink
Lessons from Contributing to WebKit and BlinkLessons from Contributing to WebKit and Blink
Lessons from Contributing to WebKit and BlinkBruno Abinader
 
Knowit study group örnsköldsvik - introduction to qt & qt creator
Knowit   study group örnsköldsvik - introduction to qt & qt creatorKnowit   study group örnsköldsvik - introduction to qt & qt creator
Knowit study group örnsköldsvik - introduction to qt & qt creatorMathias Westin
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NGJerome Louvel
 

Tendances (8)

XWiki on GlassFish TV
XWiki on GlassFish TVXWiki on GlassFish TV
XWiki on GlassFish TV
 
Dealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetupDealing with large code bases. cd ams meetup
Dealing with large code bases. cd ams meetup
 
BiQ: A New Revolution of SEO Suite
BiQ: A New Revolution of SEO SuiteBiQ: A New Revolution of SEO Suite
BiQ: A New Revolution of SEO Suite
 
Drupal
DrupalDrupal
Drupal
 
Lessons from Contributing to WebKit and Blink
Lessons from Contributing to WebKit and BlinkLessons from Contributing to WebKit and Blink
Lessons from Contributing to WebKit and Blink
 
Git
GitGit
Git
 
Knowit study group örnsköldsvik - introduction to qt & qt creator
Knowit   study group örnsköldsvik - introduction to qt & qt creatorKnowit   study group örnsköldsvik - introduction to qt & qt creator
Knowit study group örnsköldsvik - introduction to qt & qt creator
 
Restlet Framework NG
Restlet Framework NGRestlet Framework NG
Restlet Framework NG
 

Similaire à XWiki's Development Process

XWiki: Collaborative web applications the wiki way
XWiki: Collaborative web applications the wiki wayXWiki: Collaborative web applications the wiki way
XWiki: Collaborative web applications the wiki waylucaa
 
XWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & BeyondXWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & BeyondXWiki
 
XWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & BeyondXWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & BeyondVincent Massol
 
XWiki SAS development practices
XWiki SAS development practicesXWiki SAS development practices
XWiki SAS development practicesVincent Massol
 
Leading a Community-Driven Open Source Project
Leading a Community-Driven Open Source ProjectLeading a Community-Driven Open Source Project
Leading a Community-Driven Open Source ProjectVincent Massol
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneHeather VanCura
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONDawn Foster
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsDawn Foster
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionJohn Archer
 
Java overview and architecture
Java overview and architectureJava overview and architecture
Java overview and architectureWeei-Jye Chay
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Giovanni Toraldo
 
Join the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyJoin the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyHeather VanCura
 
Open Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & AnalysisOpen Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & AnalysisMarcus Hanwell
 
Net Beans Jasig Jun2006
Net Beans Jasig Jun2006Net Beans Jasig Jun2006
Net Beans Jasig Jun2006ardlian
 
Node js vs golang -which one is better ?
Node js vs golang -which one is better ?Node js vs golang -which one is better ?
Node js vs golang -which one is better ?ForceBolt
 
Oslo Vancouver Onboarding
Oslo Vancouver OnboardingOslo Vancouver Onboarding
Oslo Vancouver OnboardingBen Nemec
 
JBoss @ CVUT FIT April 2013
JBoss @ CVUT FIT April 2013JBoss @ CVUT FIT April 2013
JBoss @ CVUT FIT April 2013Vaclav Tunka
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornMichel Graciano
 

Similaire à XWiki's Development Process (20)

XWiki: Collaborative web applications the wiki way
XWiki: Collaborative web applications the wiki wayXWiki: Collaborative web applications the wiki way
XWiki: Collaborative web applications the wiki way
 
Developing XWiki
Developing XWikiDeveloping XWiki
Developing XWiki
 
XWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & BeyondXWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & Beyond
 
XWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & BeyondXWiki Enterprise 2.0 & Beyond
XWiki Enterprise 2.0 & Beyond
 
XWiki SAS development practices
XWiki SAS development practicesXWiki SAS development practices
XWiki SAS development practices
 
Leading a Community-Driven Open Source Project
Leading a Community-Driven Open Source ProjectLeading a Community-Driven Open Source Project
Leading a Community-Driven Open Source Project
 
Join the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & PuneJoin the Java Evolution GIDS Bangalore & Pune
Join the Java Evolution GIDS Bangalore & Pune
 
Crunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCONCrunching the numbers: Open Source Community Metrics at OSCON
Crunching the numbers: Open Source Community Metrics at OSCON
 
Crunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community MetricsCrunching the numbers: Open Source Community Metrics
Crunching the numbers: Open Source Community Metrics
 
Red Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus IntroductionRed Hat Java Update and Quarkus Introduction
Red Hat Java Update and Quarkus Introduction
 
XWiki Aquarium Paris
XWiki Aquarium ParisXWiki Aquarium Paris
XWiki Aquarium Paris
 
Java overview and architecture
Java overview and architectureJava overview and architecture
Java overview and architecture
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Join the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/PhillyJoin the Java Evolution Baltimore/DC/Philly
Join the Java Evolution Baltimore/DC/Philly
 
Open Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & AnalysisOpen Chemistry: Input Preparation, Data Visualization & Analysis
Open Chemistry: Input Preparation, Data Visualization & Analysis
 
Net Beans Jasig Jun2006
Net Beans Jasig Jun2006Net Beans Jasig Jun2006
Net Beans Jasig Jun2006
 
Node js vs golang -which one is better ?
Node js vs golang -which one is better ?Node js vs golang -which one is better ?
Node js vs golang -which one is better ?
 
Oslo Vancouver Onboarding
Oslo Vancouver OnboardingOslo Vancouver Onboarding
Oslo Vancouver Onboarding
 
JBoss @ CVUT FIT April 2013
JBoss @ CVUT FIT April 2013JBoss @ CVUT FIT April 2013
JBoss @ CVUT FIT April 2013
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project Nashorn
 

Dernier

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Dernier (20)

CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 

XWiki's Development Process

  • 2. About XWiki ● Web platform on top of the wiki paradigm ● Structured data, scripting, applications ● Java platform, polyglot applications (JSR223) ● XWiki Enterprise – the product ● LGPL license, since 2004 ● www.xwiki.org
  • 3. XWiki Features ● Modular and highly extensible ● Version control, attachments, user and rights management, subwiki and subpages, comments, wiki syntax and WYSIWYG editor, macros, notifications, skins, search, import/export, apps, etc. ● Use cases: ● Knowledge sharing and collaboration ● Intranets, knowledge base, public websites, groupware, education, etc.
  • 5. Community ● Users, Contributors and Core committers ● Core and Contrib ● Meritocracy ● Governed by committers ● New committers voted based on contribution ● Lazy consensus ● Important changes go through voting ● +1, +/-0, -1 ● Core committers have veto (-1) rights
  • 6. Roadmap and Releases ● Timeboxing vs Feature-driven ● Open roadmap for each minor release ● 1 major release per year ● Minor releases (2.5 months) ● Dev releases (1-3 weeks) ● Bugfix releases ● Support 3 versions (Dev, Stable & LTS) ● Release Manager Roster (taking turns) ● Release Process on xwiki.org
  • 17. Process – Recap ● Communication: Mailing Lists + IRC ● Issue Tracking: Jira ● Source Code Management: GitHub ● Continuous Integration: Jenkins ● Build Repository: Nexus ● Documentation: (*.)xwiki.org ● Localization: l10n.xwiki.org ● Extensions Repo: extensions.xwiki.org ● Code Quality: SonarQube
  • 18. Dev Tools ● Source Control: Git ● IDE: Eclipse, IntelliJ ● Build Management: Maven 3 ● Quality Control: ● Code style: Checkstyle ● Testing: JUnit/Mockito, Jacoco, Selenium 2 ● Backwards compatibility: Revapi
  • 19. Dev Principles ● High focus on quality ● dev.xwiki.org dedicated to dev documentation and best practices ● Enforcing coding style and min. test coverage ● XWiki special days (Bug Fixing Days, etc.) ● High focus on backwards compatibility ● Deprecation strategy ● Legacy modules
  • 20. Statistics (1/2) ● 19 active committers ● 194 code contributors ● 60K commits ● 950K lines of code (Java) ● 67K mails ● 1K current subscribers ● 27.5K issues ● (13% open; 53% bugs)
  • 21. Statistics (2/2) ● 305 product releases ● (1 release every 15 days) ● 2.3M downloads ● 2200+ active instances ● 870+ extensions ● (200+ applications) ● 37 supported languages ● 9/12 years @ Google Summer of Code
  • 22. Ways to Contribute ● Pull Requests ● github.com/xwiki ● github.com/xwiki-contrib ● Translations ● l10n.xwiki.org ● Documentation ● xwiki.org ● New extensions ● extensions.xwiki.org
  • 23. Earning a living ● Multiple companies build their businesses on top of XWiki ● XWiki.com is the main company sponsoring the development of the project (since 2004) ● Professional Support ● Consulting & Training ● Custom Development & Solutions ● Hosting ● Sustainable alternative to proprietary

Notes de l'éditeur

  1. Applications: Apache Velocity + JSR223: Python, Groovy, JavaScript, PHP, Ruby, etc. Internal (scripting) and external APIs for CRUD data operations.
  2. Open Development, not just open Source Frequent releases = Early feedback No single Release Manager + documented process = low bus factor
  3. Users, devs, contributors
  4. Users, Devs, Notifications (central) - roadmap discussions - ask for help - votes, proposals, announcements - BFDs - asynchronous - publicly indexed by (3+) services and searchable by google - also has a forum-like view with nabble Alternative: forum - needs account, need to go on the forum to interact (even if notified by mail), etc.
  5. Synchronous discussions IRC Bot (XWiki) Application on xwiki.org - wiki modifs and code commits live notifications - Jira link completion - chat archive Freenode.org for OS projects and interractions Open, standard and well known protocol that already has (and is easy to add) many integrations even if maybe less sexy
  6. OSS license - Dashboards, filters, reports - Used in Roadmap tracking - more powerful than github issues - we started with Jira, hard to move away Contributors can assign and close issues - issues closed by PRs have proper assignee Core + Contrib exts GitHub integration We do not close older issues Mandatory documentation and release notes fields checked by the release process
  7. GitHub – the place to be, social, etc. xwiki & xwiki-contrib organizations Pull Requests Many code reviews for core, less picky for contrib extensions Cvs, svn, git (Hub) Alternative: Bitbucket - not interested in Mercurial or private repos We store at least 3 branches for all supported versions
  8. 3 set of builds, 1 for each supported vers. Full integration, snapshots, up to distrib - unit tests, integration/functional tests for each module (minimal test instance) - security, web/accessibiltity standards - performance - quality (fails build if coverage not me + reports) - sonar metrics Screenshot of failing UI tests (even for older builds) See what commit breaks build Incremental builds on commit, full builds on manual trigger
  9. Quality level analysis - coverage, metrics, best practices, severity levels, architecture/design issues, etc. - technical debt - gives you a place to start when you want to improve something
  10. OSS License Proxy multiple repos + maven.xwiki.org/releases /externals /snapshots Core + Contrib exts Allows extensions to depend on each other and distributions to package extensions Used by maven builds of individual modules (without needing to rebuild everything)
  11. Product even if the result, is still connected to the project's infrastructure, even after it's installed and running (through EM/DW) Updates and new extensions from e.x.o (repository/index) - actually downloaded from either e.x.o or nexus.xwiki.org (if in core or contrib)
  12. Repo index + extension documentation Admin, install, config, high-level doc on xwiki.org + blog dev.xwiki.org – dev doc, best practices, etc. Translations Eating our own dogfood, various use cases of Xwiki (KB, App store, translation tool, etc.) Free to edit, monitored on IRC live and on mail (digests/watchlist)
  13. IntelliJ: OSS licenses
  14. Open by default Going open source is not an anti-pattern for a business Having a business contribute to a project helps the project overall