SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
Outline
The context
Industrializing an open source software
Selling a product
Conclusion(s)
The context
Meh
CEO@SysFera
Previously research engineer @INRIA in the GRAAL AVALON
research team (LIP/ENS Lyon)
SysFera
We provide software for the usage and management of HPC IT
infrastructure in a hybrid Cloud mode
12 people located close to the INSA campus (the weirdos doing
pixel art on the windows? That's us.)
References
Where it all began
DIET (Distributed Interactive Engineering Toolbox) created in 2001
Middleware for HPC : How to access an application on a distant
server in a ASPSaaS fashion
Leading implementation of the OGF’s GridRPC standard
The Décrypthon project
Early adopters, guiding us on the path of industrializing research
software
The computing platform of the Téléthon : provide a simple to use
grid platform for biologists
Sponsors: AFM, IBM, CNRS
2007: DIET replaces proprietary middleware (o/)
Has been up and running 24/7/365 between 2007 and 2011
Wait... what if we create a company to do that for others?
Industrializing an
open source
software
The path
May 2008 : Let's create a company !
March 2010 : birth of SysFera
Original idea :
We must secure the IP and structure the development process
Building up a commercial offer around DIET while
staying true to DIET's OSS roots
Code is IP
Code is IP
Before creating a company you need to secure the IP
from the inside
from the outside
with the authors
Manage your code's IP
architecture
Code snippets from the Internet?
Third-party libraries?
License?
Any global coherence in the IP’s perspective?
Manage your code's IP
architecture
Possible solutions:
Antepedia Suite : They’re coming from INRIA and it’s OSS!
{eyes, hands, head, jurist}
Software patent?
Patents?
Publications?
Clone of your technology in the real world?
Define your innovation/process
Study patent claims... VERY accurately.
Software patent?
Possible solutions:
{A consulting firm in IP}
{eyes, hands, head, jurist}
Manage the past ...
It WILL be the most time-consuming part.
Check developers’: contract type, lab, institute, faculty, etc.
What part of the IP do they produce?
Who owns the code?
What business model for what business plan?
Most of the time authors don’t know anything about that
Above all: be patient!
Manage the past ...
Only solution:
Patience, Time and Tenacity
... and the future
Who will contribute?
What about the community?
Will you be able to use that code in any situation?
Who will lead the project? What’s the road map?
How will you manage the code? (Client/Research)-driven commits?
... and the future
Only solution:
Clarity, Perpetuity, Serenity
But code is also
code
But code is also code
DIET comes from a research lab
SYSFERA comes from a research lab
All of use were coming from research labs
We needed tools and methodology to get the job done, clean and
fast
So we didn’t follow the (easy) (evil) path of proprietary software!
Version your stuff
Track every change and revert them
Forget CVS and fully embrace Git
Prefer atomic changes over monster patches!
Build your stuff
Tracking bugs takes up half of your time (conservative estimate)
The sooner, the better
You know where this is going, right?
Continuous Integration
1. compile manually
2. automate compilation from repository with cron
3. add up unit tests and crappy mails when compilation fails
4. add quality checks
5. now install a CI server with shiny graphics
6. make developers who break builds bring pastries the next
morning!
Your build system is your
friend
Automates tasks
Good support of parallel jobs (scons out)
Extendable
Easy to learn and use (autotools out)
Multi-platform
We are using CMake + make/ninja
Unit Testing
Testing is boring
Humans don’t like boring stuff
However,
it saves time by quickly detecting regression
it helps detecting dead code
We are using Boost Unit Tests Framework
Document your code
DIET has nice user and developer guides
The API documentation, however, not so much
Developers hate writing anything else than code
(to the coders here: you know it’s true)
We are using Doxygen
Continuous Integration
Automates !
Don't do the annoying stuff
Lots of OSS solutions
We are using Jenkins
Plan things
Plan your development sticking to defined release cycles
Define priorities
Structure your developments through projects
Choose your preferred development method (something agile!)
Involve your community in the debugging!
Be Agile like a monkey!
Be Agile like a monkey!
Prefer small iterative cycles
Plan, test, document...
... The sooner, the better
Get your toolbox ready
Communicate
With your management
With your sales and marketing department
With your clients
With your community
... And others, through projects or events
Get a real marketing guy or
girl (or a hippie)
Or you may end up with such a logo
no comment
Selling a product
Selling a product
To create a company (and sell a product) is an adventure itself.
Nerd -> CEO
Goal
Products must be meant to solve customer pain ...
... but in labs you don't meet a lot of customers...
... and a feature for a user is not what we may think it is.
Business & Marketing
When should we say no (or not now) to a user/customer?
How to build a road-map?
Nice to have != Nice to buy
Innovation can lead to new markets ...
... And unknown application fields!
How to know the customer needs when there is no existing
market?
Being too innovative can be a hard problem -> evangelism/"too
much"
Technology
Framework or not?
How to choose between complete modification and slight
changes?
Be Agile in every way!
Techno push vs
Market pull
Conclusion(s)
Sad conclusion
Software does not matter
UX and User satisfaction matters
But being
innovative is the
key to our
success
It's hard, but that's the good way
And research labs are the best place to find innovation
To be here tomorrow: don't fight the change, accompagny it
Happy Conclusion
Really cool adventure
Developers are artists
Innovation, agility and user satisfaction are the keys to success
It's a pleasure to see customers happy with your code
I'm proud to say that 13 people are now working thanks to code
developed by researchers from INRIA, CNRS, etc.
Thanks
Mail :
Twitter :
DIET website :
SysFera website :
SysFera@github :
david.loureiro@sysfera.com
@DavidLoureiroFr
http://graal.ens-lyon.fr/DIET
http://www.sysfera.com
http://sysfera.github.com

Contenu connexe

Tendances

Training methdology testers to developers
Training methdology   testers to developersTraining methdology   testers to developers
Training methdology testers to developersGurumurthy Ramamurthy
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing. Deepak Daniel
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Mohamed Samy
 
Functional Prototyping For Mobile Apps
Functional Prototyping For Mobile AppsFunctional Prototyping For Mobile Apps
Functional Prototyping For Mobile AppsMovel
 
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Hugo Bruneliere
 
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012TEST Huddle
 
Valeo Innovation Challenge 2015 - Advice web conference presentation
Valeo Innovation Challenge 2015 - Advice web conference presentationValeo Innovation Challenge 2015 - Advice web conference presentation
Valeo Innovation Challenge 2015 - Advice web conference presentationValeo
 
ATDD And BDD The Great Beat Down…or…Debate
ATDD And BDD The Great Beat Down…or…DebateATDD And BDD The Great Beat Down…or…Debate
ATDD And BDD The Great Beat Down…or…DebateTEST Huddle
 
War Room Warrior: How to manage war room situations
War Room Warrior: How to manage war room situationsWar Room Warrior: How to manage war room situations
War Room Warrior: How to manage war room situationsUXDXConf
 
Accenture Liquid Studio - Wearables Team
Accenture Liquid Studio - Wearables TeamAccenture Liquid Studio - Wearables Team
Accenture Liquid Studio - Wearables TeamFrances Coronel
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventLemi Orhan Ergin
 
O'Reilly Webcast: Ten Things Every Software Architect Should Know
O'Reilly Webcast: Ten Things Every Software Architect Should KnowO'Reilly Webcast: Ten Things Every Software Architect Should Know
O'Reilly Webcast: Ten Things Every Software Architect Should KnowO'Reilly Media
 
Who is an architect and Why care about Architecture
Who is an architect and Why care about ArchitectureWho is an architect and Why care about Architecture
Who is an architect and Why care about ArchitectureQuovantis
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...Simplilearn
 
Why Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital EraWhy Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital EraNUS-ISS
 

Tendances (18)

Prototyping
PrototypingPrototyping
Prototyping
 
Best pratice
Best praticeBest pratice
Best pratice
 
Training methdology testers to developers
Training methdology   testers to developersTraining methdology   testers to developers
Training methdology testers to developers
 
Digital transformation testing.
Digital transformation testing. Digital transformation testing.
Digital transformation testing.
 
Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010Improving developer tester collaboration with microsoft visual studio 2010
Improving developer tester collaboration with microsoft visual studio 2010
 
Functional Prototyping For Mobile Apps
Functional Prototyping For Mobile AppsFunctional Prototyping For Mobile Apps
Functional Prototyping For Mobile Apps
 
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
Developing Open Source MDE Tools / Eclipse Stories and Lessons Learned - OSS4...
 
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
 
Valeo Innovation Challenge 2015 - Advice web conference presentation
Valeo Innovation Challenge 2015 - Advice web conference presentationValeo Innovation Challenge 2015 - Advice web conference presentation
Valeo Innovation Challenge 2015 - Advice web conference presentation
 
ATDD And BDD The Great Beat Down…or…Debate
ATDD And BDD The Great Beat Down…or…DebateATDD And BDD The Great Beat Down…or…Debate
ATDD And BDD The Great Beat Down…or…Debate
 
War Room Warrior: How to manage war room situations
War Room Warrior: How to manage war room situationsWar Room Warrior: How to manage war room situations
War Room Warrior: How to manage war room situations
 
Accenture Liquid Studio - Wearables Team
Accenture Liquid Studio - Wearables TeamAccenture Liquid Studio - Wearables Team
Accenture Liquid Studio - Wearables Team
 
Global Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul EventGlobal Day of Coderetreat'14 - Istanbul Event
Global Day of Coderetreat'14 - Istanbul Event
 
Life of a Tester v1
Life of a Tester v1Life of a Tester v1
Life of a Tester v1
 
O'Reilly Webcast: Ten Things Every Software Architect Should Know
O'Reilly Webcast: Ten Things Every Software Architect Should KnowO'Reilly Webcast: Ten Things Every Software Architect Should Know
O'Reilly Webcast: Ten Things Every Software Architect Should Know
 
Who is an architect and Why care about Architecture
Who is an architect and Why care about ArchitectureWho is an architect and Why care about Architecture
Who is an architect and Why care about Architecture
 
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
What is DevOps? | DevOps Introduction | DevOps Tools | DevOps Tutorial For Be...
 
Why Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital EraWhy Experience Design is a Key Skill in the Digital Era
Why Experience Design is a Key Skill in the Digital Era
 

En vedette

Tec i iletrag
Tec i iletragTec i iletrag
Tec i iletragvazumano
 
Ricardo sarmiento movilizacion_rea_portafolio act 4
Ricardo sarmiento movilizacion_rea_portafolio act 4Ricardo sarmiento movilizacion_rea_portafolio act 4
Ricardo sarmiento movilizacion_rea_portafolio act 4chisnet
 
Why Communicating with the LOHAS Consumer is Important
Why Communicating with the LOHAS Consumer is ImportantWhy Communicating with the LOHAS Consumer is Important
Why Communicating with the LOHAS Consumer is Importanttning3
 
Programació de la 5a Setmana.
Programació de la 5a Setmana.Programació de la 5a Setmana.
Programació de la 5a Setmana.genescacr
 
Kruskal
KruskalKruskal
KruskalJorge
 
Nahu & Saraf
Nahu & SarafNahu & Saraf
Nahu & Sarafmimi
 

En vedette (20)

MONTAJES
MONTAJESMONTAJES
MONTAJES
 
Very nbsp
Very nbspVery nbsp
Very nbsp
 
Harga Skandal Lady
Harga Skandal LadyHarga Skandal Lady
Harga Skandal Lady
 
Tec i iletrag
Tec i iletragTec i iletrag
Tec i iletrag
 
Ricardo sarmiento movilizacion_rea_portafolio act 4
Ricardo sarmiento movilizacion_rea_portafolio act 4Ricardo sarmiento movilizacion_rea_portafolio act 4
Ricardo sarmiento movilizacion_rea_portafolio act 4
 
Potret pers jakarta 2013
Potret pers jakarta 2013Potret pers jakarta 2013
Potret pers jakarta 2013
 
2009 - Eclipse foundation presentation
2009 - Eclipse foundation presentation2009 - Eclipse foundation presentation
2009 - Eclipse foundation presentation
 
Potret pers jakarta 2013 ok ref
Potret pers jakarta 2013 ok refPotret pers jakarta 2013 ok ref
Potret pers jakarta 2013 ok ref
 
Why Communicating with the LOHAS Consumer is Important
Why Communicating with the LOHAS Consumer is ImportantWhy Communicating with the LOHAS Consumer is Important
Why Communicating with the LOHAS Consumer is Important
 
Pavasaris slidesharei
Pavasaris slideshareiPavasaris slidesharei
Pavasaris slidesharei
 
Geometry In Art
Geometry In ArtGeometry In Art
Geometry In Art
 
Programació de la 5a Setmana.
Programació de la 5a Setmana.Programació de la 5a Setmana.
Programació de la 5a Setmana.
 
Power point
Power pointPower point
Power point
 
Management de communaute
Management de communauteManagement de communaute
Management de communaute
 
Kruskal
KruskalKruskal
Kruskal
 
Simulationroundtablept1
Simulationroundtablept1Simulationroundtablept1
Simulationroundtablept1
 
Siasat Para Pemburu Rubah
Siasat Para Pemburu RubahSiasat Para Pemburu Rubah
Siasat Para Pemburu Rubah
 
Nahu & Saraf
Nahu & SarafNahu & Saraf
Nahu & Saraf
 
Panduan Jurnalis Meliput Mahkamah Kontitusi
Panduan Jurnalis Meliput Mahkamah KontitusiPanduan Jurnalis Meliput Mahkamah Kontitusi
Panduan Jurnalis Meliput Mahkamah Kontitusi
 
Oss for undergraduate - fossa2010
Oss for undergraduate - fossa2010Oss for undergraduate - fossa2010
Oss for undergraduate - fossa2010
 

Similaire à Industrializing Open Source Software

Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedWojciech Koszek
 
Google: Rapid Prototyping for AR
Google: Rapid Prototyping for ARGoogle: Rapid Prototyping for AR
Google: Rapid Prototyping for ARAugmentedWorldExpo
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets SymfonyMarc Morera
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at TwitterChris Aniszczyk
 
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Bill Scott
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICTDSCUSICT
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the tradeFangda Wang
 
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source GeospatialThe OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source GeospatialArnulf Christl
 
How To Do A Project?
How To Do A Project?How To Do A Project?
How To Do A Project?Aravinth NSP
 
Good-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van NiekerkGood-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van NiekerkLisa Trapman
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teamsJamie Thomas
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development PracticesLemi Orhan Ergin
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxPVS-Studio
 

Similaire à Industrializing Open Source Software (20)

Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learned
 
Google: Rapid Prototyping for AR
Google: Rapid Prototyping for ARGoogle: Rapid Prototyping for AR
Google: Rapid Prototyping for AR
 
When e-commerce meets Symfony
When e-commerce meets SymfonyWhen e-commerce meets Symfony
When e-commerce meets Symfony
 
Is Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic GascIs Python still production ready ? Ludovic Gasc
Is Python still production ready ? Ludovic Gasc
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
 
Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)Real World Lessons Using Lean UX (Workshop)
Real World Lessons Using Lean UX (Workshop)
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
 
Data science tools of the trade
Data science tools of the tradeData science tools of the trade
Data science tools of the trade
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source GeospatialThe OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
 
How To Do A Project
How To Do A ProjectHow To Do A Project
How To Do A Project
 
How To Do A Project?
How To Do A Project?How To Do A Project?
How To Do A Project?
 
Good-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van NiekerkGood-to-Great with AQUENT presentation - Koen van Niekerk
Good-to-Great with AQUENT presentation - Koen van Niekerk
 
Going open source with small teams
Going open source with small teamsGoing open source with small teams
Going open source with small teams
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
ROOTS2011 Continuous Delivery
ROOTS2011 Continuous DeliveryROOTS2011 Continuous Delivery
ROOTS2011 Continuous Delivery
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 

Plus de fOSSa - Free Open Source Software Academia Conference

Plus de fOSSa - Free Open Source Software Academia Conference (20)

Les douze commandements du community manager
Les douze commandements du community managerLes douze commandements du community manager
Les douze commandements du community manager
 
Les licences open source simplement ?
Les licences open source simplement ? Les licences open source simplement ?
Les licences open source simplement ?
 
Diffuser les résultats de recherche ?
Diffuser les résultats de recherche ? Diffuser les résultats de recherche ?
Diffuser les résultats de recherche ?
 
- Protection du logiciel - **François Pelligrini**
- Protection du logiciel - **François Pelligrini** - Protection du logiciel - **François Pelligrini**
- Protection du logiciel - **François Pelligrini**
 
La valorisation de logiciels de recherche au sein de l'Inria? / Transfert ma...
La valorisation de logiciels de recherche au sein de l'Inria?  / Transfert ma...La valorisation de logiciels de recherche au sein de l'Inria?  / Transfert ma...
La valorisation de logiciels de recherche au sein de l'Inria? / Transfert ma...
 
Resultats nuit info 2013
Resultats nuit info 2013Resultats nuit info 2013
Resultats nuit info 2013
 
In trust we trust ! Blablacar by frederic mazzella
In trust we trust ! Blablacar by frederic mazzellaIn trust we trust ! Blablacar by frederic mazzella
In trust we trust ! Blablacar by frederic mazzella
 
Open sourcing of Journalism by James Corbett
Open sourcing of Journalism by James CorbettOpen sourcing of Journalism by James Corbett
Open sourcing of Journalism by James Corbett
 
Open intelligence by tom secker
Open intelligence by tom seckerOpen intelligence by tom secker
Open intelligence by tom secker
 
Eco Nomy Eco Trust Eco Systems - Introduction
Eco Nomy Eco Trust Eco Systems - IntroductionEco Nomy Eco Trust Eco Systems - Introduction
Eco Nomy Eco Trust Eco Systems - Introduction
 
Innovation & Massive data
Innovation & Massive dataInnovation & Massive data
Innovation & Massive data
 
#SAIFC késako - Semantic Analysis for Flow Computing
 #SAIFC késako - Semantic Analysis for Flow Computing #SAIFC késako - Semantic Analysis for Flow Computing
#SAIFC késako - Semantic Analysis for Flow Computing
 
Eco System over code!
Eco System over code!Eco System over code!
Eco System over code!
 
OWF2013 INTERNET OF THINGS
OWF2013 INTERNET OF THINGSOWF2013 INTERNET OF THINGS
OWF2013 INTERNET OF THINGS
 
Afup 10 ans plus tard
Afup 10 ans plus tardAfup 10 ans plus tard
Afup 10 ans plus tard
 
HP Fossology v5.3
HP Fossology v5.3HP Fossology v5.3
HP Fossology v5.3
 
Analyse de la propriete intellectuel
Analyse de la propriete intellectuelAnalyse de la propriete intellectuel
Analyse de la propriete intellectuel
 
Methods about Open Source Governance v2.5
Methods about Open Source Governance v2.5Methods about Open Source Governance v2.5
Methods about Open Source Governance v2.5
 
Systematic / GTLL / Ecosystemes logiciel-libre in PARIS region
Systematic / GTLL / Ecosystemes logiciel-libre in PARIS regionSystematic / GTLL / Ecosystemes logiciel-libre in PARIS region
Systematic / GTLL / Ecosystemes logiciel-libre in PARIS region
 
Choir and Community Management
Choir and Community ManagementChoir and Community Management
Choir and Community Management
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 

Industrializing Open Source Software

  • 1.
  • 2. Outline The context Industrializing an open source software Selling a product Conclusion(s)
  • 4. Meh CEO@SysFera Previously research engineer @INRIA in the GRAAL AVALON research team (LIP/ENS Lyon)
  • 5. SysFera We provide software for the usage and management of HPC IT infrastructure in a hybrid Cloud mode 12 people located close to the INSA campus (the weirdos doing pixel art on the windows? That's us.)
  • 7. Where it all began DIET (Distributed Interactive Engineering Toolbox) created in 2001 Middleware for HPC : How to access an application on a distant server in a ASPSaaS fashion Leading implementation of the OGF’s GridRPC standard
  • 8. The Décrypthon project Early adopters, guiding us on the path of industrializing research software The computing platform of the Téléthon : provide a simple to use grid platform for biologists Sponsors: AFM, IBM, CNRS 2007: DIET replaces proprietary middleware (o/) Has been up and running 24/7/365 between 2007 and 2011 Wait... what if we create a company to do that for others?
  • 10. The path May 2008 : Let's create a company ! March 2010 : birth of SysFera Original idea : We must secure the IP and structure the development process Building up a commercial offer around DIET while staying true to DIET's OSS roots
  • 12. Code is IP Before creating a company you need to secure the IP from the inside from the outside with the authors
  • 13. Manage your code's IP architecture Code snippets from the Internet? Third-party libraries? License? Any global coherence in the IP’s perspective?
  • 14. Manage your code's IP architecture Possible solutions: Antepedia Suite : They’re coming from INRIA and it’s OSS! {eyes, hands, head, jurist}
  • 15. Software patent? Patents? Publications? Clone of your technology in the real world? Define your innovation/process Study patent claims... VERY accurately.
  • 16. Software patent? Possible solutions: {A consulting firm in IP} {eyes, hands, head, jurist}
  • 17. Manage the past ... It WILL be the most time-consuming part. Check developers’: contract type, lab, institute, faculty, etc. What part of the IP do they produce? Who owns the code? What business model for what business plan? Most of the time authors don’t know anything about that Above all: be patient!
  • 18. Manage the past ... Only solution: Patience, Time and Tenacity
  • 19. ... and the future Who will contribute? What about the community? Will you be able to use that code in any situation? Who will lead the project? What’s the road map? How will you manage the code? (Client/Research)-driven commits?
  • 20. ... and the future Only solution: Clarity, Perpetuity, Serenity
  • 21. But code is also code
  • 22. But code is also code DIET comes from a research lab SYSFERA comes from a research lab All of use were coming from research labs We needed tools and methodology to get the job done, clean and fast So we didn’t follow the (easy) (evil) path of proprietary software!
  • 23. Version your stuff Track every change and revert them Forget CVS and fully embrace Git Prefer atomic changes over monster patches!
  • 24. Build your stuff Tracking bugs takes up half of your time (conservative estimate) The sooner, the better You know where this is going, right?
  • 25. Continuous Integration 1. compile manually 2. automate compilation from repository with cron 3. add up unit tests and crappy mails when compilation fails 4. add quality checks 5. now install a CI server with shiny graphics 6. make developers who break builds bring pastries the next morning!
  • 26. Your build system is your friend Automates tasks Good support of parallel jobs (scons out) Extendable Easy to learn and use (autotools out) Multi-platform We are using CMake + make/ninja
  • 27. Unit Testing Testing is boring Humans don’t like boring stuff However, it saves time by quickly detecting regression it helps detecting dead code We are using Boost Unit Tests Framework
  • 28. Document your code DIET has nice user and developer guides The API documentation, however, not so much Developers hate writing anything else than code (to the coders here: you know it’s true) We are using Doxygen
  • 29. Continuous Integration Automates ! Don't do the annoying stuff Lots of OSS solutions We are using Jenkins
  • 30. Plan things Plan your development sticking to defined release cycles Define priorities Structure your developments through projects Choose your preferred development method (something agile!) Involve your community in the debugging!
  • 31. Be Agile like a monkey!
  • 32. Be Agile like a monkey! Prefer small iterative cycles Plan, test, document... ... The sooner, the better Get your toolbox ready
  • 33. Communicate With your management With your sales and marketing department With your clients With your community ... And others, through projects or events
  • 34. Get a real marketing guy or girl (or a hippie) Or you may end up with such a logo no comment
  • 36. Selling a product To create a company (and sell a product) is an adventure itself. Nerd -> CEO
  • 37. Goal Products must be meant to solve customer pain ... ... but in labs you don't meet a lot of customers... ... and a feature for a user is not what we may think it is.
  • 38. Business & Marketing When should we say no (or not now) to a user/customer? How to build a road-map? Nice to have != Nice to buy Innovation can lead to new markets ... ... And unknown application fields! How to know the customer needs when there is no existing market? Being too innovative can be a hard problem -> evangelism/"too much"
  • 39. Technology Framework or not? How to choose between complete modification and slight changes? Be Agile in every way!
  • 42. Sad conclusion Software does not matter UX and User satisfaction matters
  • 43. But being innovative is the key to our success It's hard, but that's the good way And research labs are the best place to find innovation To be here tomorrow: don't fight the change, accompagny it
  • 44. Happy Conclusion Really cool adventure Developers are artists Innovation, agility and user satisfaction are the keys to success It's a pleasure to see customers happy with your code I'm proud to say that 13 people are now working thanks to code developed by researchers from INRIA, CNRS, etc.
  • 45. Thanks Mail : Twitter : DIET website : SysFera website : SysFera@github : david.loureiro@sysfera.com @DavidLoureiroFr http://graal.ens-lyon.fr/DIET http://www.sysfera.com http://sysfera.github.com