software extensibility of an open source project. ow2con'15, november 17, paris

Post on 21-Jan-2018

258 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Software extensibility of an Open Source project

@PhilippeOzilTechnical Evangelist

Agenda

• Who we are and what we do (in short)

• The challenges we faced with contributions

• The strategy we devised to leverage contributions & extensibility

Who we are and what we do (in short)

Who we are

2003• Project supported by Bull• Project on OW2

Open Source project initiated at INRIA Nancy

2001

Bonitasoft company founded in Grenoble

2009

PresentlyA couple of million of line of codes later, we are still here

with happy users and customers J

What we do: a BPMS

• Process modeler• Execution engine• Form & application builder• Data & document management• Connectivity to Information System• Organization management• Reporting

Our software is all about extensibility

Our model:

• We provide a generic solution• Users adapt it for a wide variety of use cases and industries

Implies a high degree of software extensibilityThis is what Open Source is about!

The challenges we faced with contributions

We are Open Source from the start but…

At first, we faced issues with code contributions

• Contributor ratio too low compared to actual users

• Too few contributions integrated in product

• Some custom code never contributed back

Quite a few technical constraints

• Project’s technical complexity and scale• Multiplatform environment (OS, DB, application server)• Legacy• Genericity• Robustness• Performance & scalability

The strategy we devised to leverage contributions & extensibility

Microservice based architecture

Moving from

Monolith(legacy)

TO

Microservices

Extension points

Providing multiple lightweight extensions points• adds value to the software• simple to implement & test• easy to deploy• do not interfere with core functionalities

Currently 14 extension typesConnectors, Widgets, REST API extensions…

Central repository of community contributions• Eases search for users• Simplifies contribution and maintenance

Dedicated space for each project

In the end some users contribute on contributions

Community projects

Project page

Release mgmt. Issue tracker

Community

Projects

Conclusion

Conclusion

During this presentation we have

• Highlighted some of the challenges of handling contribution on a large & mature Open Source project

• Presented some leads on how to address these

Visit us online bonitasoft.com

Join our communitybonitasoft.org

Downloadbonitasoft.com/downloads

Follow us on twitter @bonitasoft@PhilippeOzil

Thank you for your attention.

Q&A Time

top related